我目前正在学习Java,最近被尖括号(<>)难住了。它们到底是什么意思?
public class Pool<T>{
public interface PoolFactory<T>{
public T createObject();
}
this.freeObjects = new ArrayList<T>(maxsize)
}
<T>
是什么意思?这是否意味着我可以创建T
类型的对象
发布于 2011-07-07 16:10:55
称为泛型类型。您可以像这样实例化object Pool:
PoolFactory<Integer> pool = new Pool<Integer>();
泛型参数只能是引用类型。所以你不能使用像int、double、char或其他原始类型这样的原始类型。
发布于 2016-05-20 19:18:30
泛型类是一种在创建数据类型时将其作为参数接受的类。此类型参数是使用尖括号指定的,并且每次实例化类的新实例时,类型都会更改。例如,让我们分别为Employee对象和Company对象创建一个ArrayList
ArrayList<Employee> employees = new ArrayList<Employee>();
ArrayList<Company> companies = new ArrayList<Company>();
您会注意到,我们使用相同的ArrayList类创建这两个列表,并使用尖括号传入Employee或Company类型。让一个泛型类能够处理多种类型的数据减少了大量执行类似任务的类的数量。泛型还有助于减少bug,因为它为所有东西都提供了一个强类型,这有助于编译器指出错误。通过为ArrayList指定类型,如果您尝试将员工添加到公司列表中,编译器将抛出错误,反之亦然。
https://stackoverflow.com/questions/6607550
复制相似问题