Java泛型,使用泛型的类必须始终是某种类型的容器吗?

Kor*_*gay 0 java generics

很明显,像ArrayList一样,是一个装满"Generics"类型项的容器.

除了作为容器之外,一个类如何使用泛型?任何常见的用法?

谢谢!

Jon*_*eet 5

一个简单的例子是 Comparable<T>

public class Person implements Comparable<Person>
Run Code Online (Sandbox Code Playgroud)

这允许您以自然的方式比较一个人与另一个人.

同样地Comparator<T>:

public class NameComparator implements Comparator<Person>
Run Code Online (Sandbox Code Playgroud)

这允许您以特定方式比较任何两个人.这些接口都不是关于"容器"的.

然后有类似的类型Future<V>,表示V未来某个时候类型值的承诺(基本上是异步操作).现在你可以把它想象成一种容器,但它不是一个集合 ......

从根本上说,只要你有一个按类型(可能带有约束)有用地参数化的操作或类型以保持类型安全,泛型就很有用,但是可以使用该类型参数的各种不同类型参数.