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

2024-06-28

我目前正在学习Java,最近被尖括号()难住了。它们到底是什么意思?

public class Pool<T>{
    public interface PoolFactory<T>{
        public T createObject();
    }
    this.freeObjects = new ArrayList<T>(maxsize)
}

什么是<T>意思是?这是否意味着我可以创建类型的对象T?


<T> is a generic通常可以读作“T 型”。这取决于 左侧的类型的实际含义。

我不知道什么是Pool or PoolFactory是,但你也提到ArrayList<T>,这是一个标准的 Java 类,所以我将讨论它。

通常,您不会在那里看到“T”,您会看到另一种类型。所以如果你看到ArrayList<Integer>例如,这意味着“一个ArrayList of Integer例如,许多类使用泛型来约束容器中元素的类型。另一个例子是HashMap<String, Integer>,这意味着“一张地图String键和Integer价值观。”

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

  • My Pool<String>会有一个界面PoolFactory<String> with a createObject返回的方法Strings.
  • 在内部,Pool<String>将包含一个ArrayList字符串。

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

(尖括号)在 Java 中意味着什么? 的相关文章

随机推荐