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

时间:2012-11-29 18:18:25

标签: java generics

很明显,像ArrayList一样,是一个装满“Generics”类型项的容器。

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

谢谢!

1 个答案:

答案 0 :(得分:5)

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

public class Person implements Comparable<Person>

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

同样有Comparator<T>

public class NameComparator implements Comparator<Person>

这允许您以特定的方式比较任意两个人。这些接口都不是关于“容器”的。

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

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