Java中的尖括号<>与示例
Java中的尖括号用于定义泛型。这意味着尖括号在定义中采用泛型类型,例如 T,在调用期间采用任何类作为参数。这个想法是允许类型(整数、字符串等和用户定义的类型)作为方法、类和接口的参数。例如,HashSet、ArrayList、HashMap 等类都很好地使用了泛型。我们可以将它们用于任何类型。
例子:
// of type T
// of type Integer
// of type String
// of type MyClass
.
.
如何在 Class 中使用尖括号?:
我们使用尖括号“<>”来指定泛型类创建中的参数类型。要创建泛型类的对象,我们使用以下语法:
// To create an instance of generic class
BaseType obj = new BaseType ()
Note: In Parameter type,
we can not use primitives like
'int', 'char' or 'double'.
// A Simple Java program
// to show working of user defined
// Generic classes
// We use < > to specify Parameter type
class Test {
// An object of type T is declared
T obj;
// constructor
Test(T obj)
{
this.obj = obj;
}
public T getObject()
{
return this.obj;
}
}
// Driver class to test above
class Main {
public static void main(String[] args)
{
// instance of Integer type
Test iObj
= new Test(15);
System.out.println(iObj.getObject());
// instance of String type
Test sObj
= new Test("GeeksForGeeks");
System.out.println(sObj.getObject());
}
}
输出:
15
GeeksForGeeks
如何在函数中使用尖括号?:
我们使用尖括号 ” 来指定泛型函数定义中的参数类型。然后调用函数,我们只需将期望类型作为参数传递。我们还可以编写泛型函数,根据传递给泛型方法的参数类型,使用不同类型的参数调用这些泛型函数,编译器处理每个方法。
// To create a generic function
public static void func(T a, T b){}
Note: In Parameter type,
we can not use primitives like
'int', 'char' or 'double'.
// A Simple Java program
// to show working of user defined
// Generic functions
class Test {
// A Generic method example
static void genericDisplay(T element)
{
System.out.println(
element
.getClass()
.getName()
+ " = " + element);
}
// Driver method
public static void main(String[] args)
{
// Calling generic method
// with Integer argument
genericDisplay(11);
// Calling generic method
// with String argument
genericDisplay("GeeksForGeeks");
// Calling generic method
// with double argument
genericDisplay(1.0);
}
}
输出:
java.lang.Integer = 11
java.lang.String = GeeksForGeeks
java.lang.Double = 1.0