📌  相关文章
📜  Java中的尖括号<>与示例

📅  最后修改于: 2022-05-13 01:55:17.229000             🧑  作者: Mango

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