import org.junit.Test;
import java.util.ArrayList;
import java.util.List;
public class TessWildcard {
@Test
public void test(){
List<? extends Person> list1 = null;
List<? super Person> list2 = null;
List<Student> list3 = new ArrayList<>();
List<Person> list4 = new ArrayList<>();
List<Object> list5 = new ArrayList<>();
// ***********************
list1 = list4; // list4 符合 list1 小于等于 Person 的规范
// 这里也没有超出 Person 请问为什么会编译报错
Student stu = list1.get(0);
}
class Person{
}
class Student extends Person{
}
}
本人小白,求通俗易懂的解答