黑马程序员技术交流社区
标题:
泛型问题
[打印本页]
作者:
郑雪
时间:
2013-5-7 14:32
标题:
泛型问题
集合存放的数据类型不固定,故往集合里面存放元素时,存在安全隐患,所以出现了泛型。
不知这个安全隐患是指什么?
作者:
一直在路上
时间:
2013-5-7 14:42
List<Integer> list = new ArrayList<Integer>();
list.add(1);
但是你要不定义泛型的话你可以加其它类型的
list.add("aaa");这个 的话就有安全隐患,因为你认为里面放的都是int
但是你实际上放了string类型的在里面,所以有安全隐患
作者:
zms2100
时间:
2013-5-7 14:55
忽然很想很简单的回复LZ,隐患是类型转换异常。
(下面当做我没说,O(∩_∩)O~...............O(∩_∩)O哈哈~)
除了LS的基本数据类型对象外,特别是存储类对象的时候(比如存放一个Student类的集合),加了泛型时,你想忘集合里加其他的都编译不通过;
没有加泛型,就可以存放到里面,但是当你对存储的Student类进行操作时(调用Student类中方法或属性时),就会该对象找不到对应的方法等;
如果添加了强转语句,就会发生类型转换异常(ClassCastException)。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2