<T>(尖括号)在Java中是什么意思?
我目前正在学习Java,最近被尖括号(<>)所困扰。它们到底是什么意思?
public class Pool<T>{ public interface PoolFactory<T>{
public T createObject();
}
this.freeObjects= new ArrayList<T>(maxsize)
}
什么<T>意思 这是否意味着我可以创建类型的对象T?
回答:
<T>是泛型,通常可以理解为“ T型”。它取决于<>左侧的实际含义。
我不知道什么是Pool或者PoolFactory是,不过你还别说ArrayList<T>,这是一个标准的Java类,所以我会跟那个。
通常,你不会在其中看到“ T”,而会看到另一种类型。因此ArrayList<Integer>,例如,如果看到,则表示“ An ArrayListof Integers”。例如,许多类都使用泛型来约束容器中元素的类型。另一个示例是HashMap<String, Integer>,表示“具有String键和Integer值的映射”。
你的Pool示例有点不同,因为你正在定义一个类。因此,在这种情况下,你正在创建一个可以由其他人实例化的类,以代替T。例如,我可以Pool<String>使用你的类定义来创建类型的对象。那将意味着两件事:
- 我
Pool<String>的接口将PoolFactory<String>带有createObject返回Strings的方法。 - 在内部,
Pool<String>包含ArrayList字符串。
这是个好消息,因为在另一时间,我可以创建一个Pool<Integer>将使用相同代码的代码,但是Integer无论你T在源代码中看到的是什么。
以上是 <T>(尖括号)在Java中是什么意思? 的全部内容, 来源链接: utcz.com/qa/430834.html


