一定要看代码部分
java开发手册
一、编程规范
(六)集合处理
12. 【强制】泛型通配符<? extends T>来接收返回的数据,此写法的泛型集合不能使用add方法,而<? super T>不能使用get方法,
两者在接口调用赋值的场景中容易出错。 说明:扩展说一下PECS(Producer Extends Consumer Super)原则:
第一、频繁往外读取内容的,适合用<? extends T>。第二、经常往里插入的,适合用<? super T>
原文
- 【强制泛型通配符<? extends T>来接收返回的数据,此写法的泛型集合不能使用add方法,而<? super
T>不能使用get方法,两者在接口调用赋值的场景中容易出错。 说明:扩展说一下PECS(Producer Extends Consumer
Super)原则:第一、频繁往外读取内容的,适合用<? extends T>。第二、经常往里插入的,适合用<? super T>
package com.wsq.io.nio;
import java.util.ArrayList;
import java.util.List;
/**
* java开发手册
* 一、编程规范
* (六)集合处理
* 12. 【强制】泛型通配符<? extends T>来接收返回的数据,此写法的泛型集合不能使用add方法,而<? super T>不能使用get方法,
* 两者在接口调用赋值的场景中容易出错。 说明:扩展说一下PECS(Producer Extends Consumer Super)原则:
* 第一、频繁往外读取内容的,适合用<? extends T>。第二、经常往里插入的,适合用<? super T>
*
* @author midouwan
* @date 2021-01-18 9:17 上午
*/
public class Test {
public static void main(String[] args) {
//最小子类
Student student = new Student();
// 多态体现
List<Animal> animals = new ArrayList<>();
animals.add(student);
List<Person> person = new ArrayList<><