黑马程序员技术交流社区

标题: 泛型问题 [打印本页]

作者: 郑雪    时间: 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