java - 了解 Java 泛型。类型参数约定

标签 java generics

The most commonly used type parameter names are:

E - Element (used extensively by the Java Collections Framework)

K - Key

N - Number

T - Type

V - Value

S,U,V etc. - 2nd, 3rd, 4th types

我似乎不太明白每个字母到底对应什么。我知道每个字母只代表一个约定,但第 2、第 3 和第 4 类型到底是什么意思?我什么时候应该使用什么?在他们的官方教程网站上没有提供更多信息。

最佳答案

一些例子:

  • Map<K, V> : map 通常分配V归属于 K眼睛。这些是特殊类型的类型,所以在这里使用它们。
  • List<E> : 一个列表包含 E元素。这是一个约定,它们被称为元素。另一方面,T在这里也可以接受。
  • Formatter<T> : 格式化程序可以格式化任何 T是的。它不是真正的元素,也不是键,也不是值,所以 T是正确的字母。
  • Triplet<T, U, V> : 任意类型的三元组。由于类型定义不知道稍后要填写的类型,所以它只使用 T对于第一种类型,然后是按字母顺序排列的下一个字母。

关于java - 了解 Java 泛型。类型参数约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4073359/

相关文章:

java - 将对象转换为通用类型以返回

swift - 具有通用委托(delegate)的通用类。如何区分哪个对象的委托(delegate)正在执行回调?

java - 在字符串中使用 ==

Java:Ant 脚本工作起来很有魅力,但 Jar 会抛出异常

java - Springboot : Localhost:8080 results in Whitepage-Error instead of showing content

java - 如何使用特定字符生成特定长度的随机字符数组

java - 无法从 php exec 方法执行 java 类文件?

swift - 是否可以在 Swift 中的泛型 struct init 中使用泛型?

swift - 我如何使用类型(: someVar) as a proper Type in Swift?

c# - 当 T 是结构时,List<T>.Find 如何工作?