在Effective Java中,在“使用有界通配符提高API灵活性”项中,在谈到PECS(producer-extends,consumer-super)的使用时,作者提到:
可比较对象始终是消费者,因此您通常应该使用 Comparable<? super T> 优先于 Comparable。比较器也是如此;因此,您通常应该使用 Comparator<? super T> 优先于 Comparator。
我不清楚为什么 Comparables 和 Comparators 被认为是消费者。
在讨论 PECS 的主题之一中,什么是 PECS(生产者扩展消费者超级)?,消费者通常将 Collection 称为某些泛型方法的参数。
而这里的 Comparable 只是一个接口。
任何人都可以分享一些见解吗?谢谢!