张老师在将泛型的时候,说参数化类型不存在继承关系
即:ArrayList<Object> arraylist=new ArrayList<String>;Object是String的父类,所以是错误的
在看看?通配符的运用:ArrayList<? extends Number> arraylist=new ArrayList<Integer>;这个是可以的!!
本人的疑惑就是在上述的左边即<? extends Number> 假如表示的是Long 此时就相当于ArrayList<Long> arraylist=new ArrayList<Integer>;这个可以通过吗??
再看看ArrayList<? super Integerr> arraylist=new ArrayList<Number>;假如左面<? extends Integer> 传入的是Object,此时的就相当于
ArrayList<Object> arraylist=new ArrayList<Number>;这样能成立吗??
不知道我的理解错在哪里了 求解?? |
|