我在 Java 集合和 Guava 中广泛使用泛型。我在使用 API 时非常了解:
- PECS规则
- {co, contra, 不变}
- 通配符
- 有界泛型
但是,我发现很难使用泛型提出 API。Java 泛型有设计模式吗?或者对 Java 泛型的任何引用也会有所帮助。我读了:
- 有效的 Java
- 《Java 泛型和集合》一书
- http://www.angelikalanger.com/GenericsFAQ/JavaGenericsFAQ.html
我只熟悉泛型有用的两种模式:
- 包含的概念:Java 集合、Guava
Optional<T>
等。 - 类型参数化: Guava
Predicate<T>
,Function<T>