这很简单。 它是J2SE 5中引入的新功能。在类名后面指定尖括号意味着您正在创建一个可以保存任何类型数据的临时数据类型。
例:
class A{
T obj;
void add(T obj){
this.obj=obj;
}
T get(){
return obj;
}
}
public class generics {
static void print(E[] elements){
for(E element:elements){
System.out.println(element);
}
}
public static void main(String[] args) {
A obj=new A();
A obj1=new A();
obj.add("hello");
obj1.add(6);
System.out.println(obj.get());
System.out.println(obj1.get());
Integer[] arr={1,3,5,7};
print(arr);
}
}
而不是Integer,你可以实际写任何东西,它将以相同的方式工作。 尝试编写String代替Boolean。
这只是为了方便起见:
Integer被称为任何类型
Integer作为元素类型
Integer作为数字类型
Integer作为价值
Integer为关键
但你可以将它命名为任何你想要的东西,它并不重要。
此外,Integer,String,Boolean等是Java的包装类,它有助于在编译期间检查类型。 例如,在上面的代码中,obj的类型为String,因此您无法添加任何其他类型(尝试obj.add(1),它将转换错误)。 同样,obj1属于Integer类型,您无法添加任何其他类型(尝试obj1.add("hello"),将出现错误)。