mirror of
https://github.com/Jueee/effective-Java.git
synced 2024-12-27 13:20:15 +08:00
861 B
861 B
优先考虑类型安全的异构容器
泛型的常见用法包括集合,如 Set<E
> 和 Map<K,V>
和单个元素容器,如 ThreadLocal<T>
和 AtomicReference<T>
。 在所有这些用途中,它都是参数化的容器。 这限制了每个容器只能有固定数量的类型参数。
示例代码:Item33Example01.java:参数化键(key)而不是容器。 然后将参数化的键提交给容器以插入或检索值。 泛型类型系统用于保证值的类型与其键一致。
Favorites
实例是类型安全的:当你请求一个字符串时它永远不会返回一个整数。 它也是异构的:与普通 Map 不同,所有的键都是不同的类型。我们将 Favorites
称为类型安全异构容器(typesafe heterogeneous container
)。