真的很简单。中引入的一个新特性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);
}}
而不是,你实际上可以写任何东西,而且它的工作方式也是一样的。试着写作代替.
这只是为了方便:被称为任何类型
As元素类型
AS型
作为价值
作为关键
但你可以给它起任何你想要的名字,这并不重要。
此外,Integer, String, BooleanETC是Java的包装类,它有助于在编译期间检查类型。例如,在上面的代码中,obj是类型的String,所以您不能向它添加任何其他类型(尝试obj.add(1),会造成错误)。同样,obj1是Integer类型,您不能向它添加任何其他类型(尝试obj1.add("hello"),错误就会出现)。
|