java - 在 Java 中实现泛型
问题描述
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<>();
list3.add(new Student());
list1 = list3;
Person p1 = list1.get(0);
//Student s1 = list1.get(0);
Student 是 Person 的子类;(Student 扩展了 Person)
我的问题是为什么 list1.get(0) 不能被 Student 类的对象直接引用(如最后一条评论语句),因为 list3 的元素只能是 Student 类的对象或其子类的对象。在左侧使用像“Student s1”这样的变量可以在右侧引用其子类的对象。
解决方案
推荐阅读
- json - mongodb中的随机数生成范围内
- php - How to get one single value from an SQL request in Laravel?
- javascript - 如何在 Selenium IDE 中使用 Javascript 单击元素
- android - Calling startActivity with shared element transition from onActivityResult
- r - Extracting parts from text with a vertical bar in r
- sql - 如何编写 SQL 语句将多条记录扁平化为一条记录?
- java - 在 Qpid 上调用的 RabbitMQ Java API queuePurge() 方法返回消息计数为零的 PurgeOK 响应
- c - c语言指针分段错误
- java - 如何模拟未设置为变量的对象
- python - 如何解决“Runtimewarning:double_scalars 中遇到无效值”和“Runtimewarning:power 中遇到除以零”?