A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 郑雪 中级黑马   /  2013-5-7 14:32  /  1306 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

集合存放的数据类型不固定,故往集合里面存放元素时,存在安全隐患,所以出现了泛型。
不知这个安全隐患是指什么?

2 个回复

倒序浏览


List<Integer> list = new ArrayList<Integer>();
                list.add(1);

但是你要不定义泛型的话你可以加其它类型的
                list.add("aaa");这个 的话就有安全隐患,因为你认为里面放的都是int
但是你实际上放了string类型的在里面,所以有安全隐患

回复 使用道具 举报
忽然很想很简单的回复LZ,隐患是类型转换异常。
(下面当做我没说,O(∩_∩)O~...............O(∩_∩)O哈哈~)
除了LS的基本数据类型对象外,特别是存储类对象的时候(比如存放一个Student类的集合),加了泛型时,你想忘集合里加其他的都编译不通过;
没有加泛型,就可以存放到里面,但是当你对存储的Student类进行操作时(调用Student类中方法或属性时),就会该对象找不到对应的方法等;
如果添加了强转语句,就会发生类型转换异常(ClassCastException)。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马