当人们将public class Nir<E>
作为班级名称时,这意味着什么?
这是否意味着Nir
的实例将是E
类型的集合?
我真的不明白。它只是声明Nir中的方法将使用集合吗?
答案 0 :(得分:3)
E
是泛型类型参数。 Nir<E>
是Nir
的{{1}}。它说E
是一个与Nir
有某种关系的类。
E
使用泛型来表示它包含Collection<E>
s。
E
说它描述了Class<E>
。
E
表示会比较Comparator<E>
s。
仿制药有很多用途。
答案 1 :(得分:2)
这意味着Nir
是generic type。构造Nir
的实例时,必须指定具体类型而不是占位符<E>
。
泛型的典型用法是使用集合,但这不是必需的。
答案 2 :(得分:2)
这是一种机制,允许您在使用 Nir
类时将参数传递给泛型系统,并在代码中为其添加占位符。
例如,如果您有Nir课程
public E getResult()
你需要一个Nir实例,你输入
Nir<String> nir = new Nir<String>();
String s = nir.getResult();
这意味着此调用的Nir.java中的E
为String
,您可以立即将getResult()
的返回值分配给String对象
答案 3 :(得分:1)
<E>
部分称为通用参数。
您稍后可以使用特定类型Nir
来实例化new Nir<Integer>()
一个简单的例子是ArrayList<T>
。它是存储任何类型列表的通用类。您可以创建一个实例,指定您想要存储的对象类型,例如。 new ArrayList<String>()
表示字符串。它是通用的,同时类型安全。
您可能需要查看Generic Types documentation以获取更多信息。
答案 4 :(得分:1)