【发布时间】:2013-10-20 20:59:44
【问题描述】:
在处理 Java 集合和 Guava 时,我非常广泛地使用泛型。我在使用 API 时非常了解:
- PECS 规则
- {co, contra, in}variance
- 通配符
- 有界泛型
但是,我发现使用泛型创建 API 很困难。 Java 泛型有设计模式吗?或者对 Java 泛型的任何引用也会有所帮助。我读过:
- 有效的 Java
- “Java 泛型和集合”一书
- http://www.angelikalanger.com/GenericsFAQ/JavaGenericsFAQ.html
我只熟悉泛型有用的两种模式:
- 遏制概念:Java 集合、Guava
Optional<T>等 - 类型参数化:Guava
Predicate<T>,Function<T>
【问题讨论】:
-
如果你读过 Effective Java,那么正如 Yoda 所说,“你不需要更多的培训。已经了解你,你需要的。”
标签: java generics design-patterns api-design