在 java profiler 命令输出中,我一直在尖括号中看到这些符号,例如
java.util.Queue<E>
java.util.TreeMap<K, V>
如我错了请纠正我; 通过一些练习,我已经能够关联 E-Entity、K、V - 键值对。我见过其他人喜欢java.lang.Iterable<T>
,为此我无法弄清楚 T 是什么意思。
有人可以帮我说出这些符号的名称以及Java SE中有多少这样的符号吗?
它们被称为泛型。它们允许方法/类/接口等在不影响类型检查的情况下对多种类型的对象(例如整数、字符串)进行操作。
看:
您正在谈论称为泛型的 Java 编程语言的一个方面 您可以在此处阅读有关它们的更多信息
使用的字母实际上并不重要。正如您所说,在java.util.TreeMap<K, V>
界面中使用了字母“K”和“V”,可能是因为它们是“key”和“value”这两个词中的第一个字母,但也可以使用任何其他字母。Java 不在乎您在定义泛型类或接口时使用什么字母,这完全取决于您。