<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