PECS原则:生产者(Producer)使用extends,消费者(Consumer)使用super。
1、生产者使用extends
如果你需要一个列表提供T类型的元素(即你想从列表中读取T类型的元素),你需要把这个列表声明成<? extends T>
,比如List<? extends Integer>
,因此你不能往该列表中添加任何元素。即,可以get不能add
2、消费者使用super
如果需要一个列表使用T类型的元素(即你想把T类型的元素加入到列表中),你需要把这个列表声明成<? super T>
,比如List<? super Integer>
,因此你不能保证从中读取到的元素的类型。即,可以set不能get
3、即是生产者,也是消费者
如果一个列表即要生产,又要消费,你不能使用泛型通配符声明列表,只能用List<Integer>
这种形式
泛型通配符——PECS原则
最新推荐文章于 2025-05-22 09:30:00 发布