当前位置: 代码迷 >> J2SE >> 泛型的左右限定
  详细解决方案

泛型的左右限定

热度:43   发布时间:2016-04-23 20:31:12.0
泛型的上下限定
泛型的上下限定不太懂
ArrayList<?extends person>a1=new ArrayList();
a1.add(new student("dfs",12));
这里不是为什么add学生不行呢 我写的学生是person的子类,看了好多讲解什么一个苹果一箱苹果实在不懂,这个上下限定到底怎 么用的,求个高手能帮忙详细点解释   谢谢    现在一头雾水
------解决方案--------------------
看JAVA泛型的? extends和? super的比较
简单说如果你要往list里面add东西不能用? extends这种形式
一般直接用接口或父类就好了
List<Person> list = new ArrayList<>();
list.add(new Student("Name", 12));

如果你不参数化泛型,像下面的代码ArrayList al = new ArrayList()这样,那实际等价于ArrayList<Object> al = new ArrayList<Object>(),也就是这个list接受一切Object对象,当然你就可以add任何东西。
  相关解决方案