List<? extends A>就好使了
解决方案 »
- java中输出的值不是想要的值?怎么解决?
- 输入一个数,实现判断它是否为水仙花数
- 小菜鸟。问一个swing 问题。(第一次发帖,还望捧场)
- 请高手指教下。运行程序出现这种问题怎么解决?
- 求一算法!!!!
- 如何知道对话框失去焦点?
- 请问:对于runtimeException,我是否应该catch?不catch的话,会导致我的运行线程死掉。
- int型怎么转换为String类型?
- 关于文件数据存放方式,字节&字符
- 怎样让表格能自动滚动,始终能显示最后一条数据?
- 为什么不能执行出来
- 定义一个交通灯枚举,包含红灯、绿灯、黄灯,需要有获得下一个灯的方法,例如:红灯获取下一个灯是绿灯,绿灯获取下一个灯是黄灯。
如果要是A的子类不止B一个,还有C,D....,list.add(A),list.add(B),list.add(C),
最后list在取数据的时候就不知道应该转换成具体哪个类型,“编译器会尽可能的检查可能存在的类型安全问题。对于确定是违反相关原则的地方,会给出编译错误。”
楼主可以参考一下链接:
http://blog.csdn.net/daniel_h1986/article/details/5708605
// java泛型的通配符的上边界和下边界 限定通配符的上边界:
// 说明他能存放A或者是A的子类。 限定通配符的下边界:
List<? extends A> _List1=new ArrayList<B>();
// 说明它能存放的是B或者B的超类.
// 注意: 限定通配符总是包括自己。
List<? super B> _List2=new ArrayList<A>();