gpt4 book ai didi

java - (尖括号)在 Java 中意味着什么?

转载 作者:行者123 更新时间:2023-12-02 00:39:49 26 4
gpt4 key购买 nike

我正在学习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>例如,这意味着“ArrayListInteger s”。例如,许多类使用泛型来约束容器中元素的类型。另一个例子是 HashMap<String, Integer> ,这意味着“带有 String 键和 Integer 值的 map 。”

您的 Pool 示例有点不同,因为您定义一个类。因此,在这种情况下,您正在创建一个类,其他人可以使用特定类型代替 T 来实例化该类。例如,我可以创建一个 Pool<String> 类型的对象。使用您的类定义。这意味着两件事:

  • 我的Pool<String>将有一个接口(interface) PoolFactory<String>createObject返回 String 的方法
  • 在内部,Pool<String>将包含 ArrayList字符串。

这是个好消息,因为在其他时间,我可以一起创建一个 Pool<Integer>它将使用相同的代码,但有 Integer无论你看到什么T在源代码中。

关于java - <T>(尖括号)在 Java 中意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57951685/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com