1 import java.util.*; 2 public class F4 { 3 public static void main(String[] args) { 4 5 TreeSet<? super Student> t1=new TreeSet<Person>(); 6 //t1.add(new Person());这里为什么报错呢 7 t1.add(new Student()); 8 } 9 } 10 11 class Person{} 12 class Student extends Person{}
上段代码在初始化的时候new TreeSet<Person>();这里已经说明了<Person>,那为什么不能添加Person类型的对象呢?
java 泛型不支持逆变?
是这个原因?我刚看了看逆变,觉得不是额。。。我是个新手 还啥都不懂