一个简单的例子是 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未来某个时候类型值的承诺(基本上是异步操作).现在你可以把它想象成一种容器,但它不是一个集合 ......
从根本上说,只要你有一个按类型(可能带有约束)有用地参数化的操作或类型以保持类型安全,泛型就很有用,但是可以使用该类型参数的各种不同类型参数.