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

为什么在集合未使用泛型时会出现安全问题?这个与线程产生的安全问题有什么不同?

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

4 个回复

倒序浏览
java5以前集合内部不能确定对象类型,泛型出现后可以在编译期就确定集合中的对象类型,统一类型后在取对象的时候可以省略类型强转的步骤。
在没泛型的时候当一个开发人员接收到一个集合,他并不知道里面的每个对象是什么类型,这样在取出对象时就容易发生强转安全错误。而这个错误
和线程的安全问题是不同的,线程的安全问题指的是多个线程在操作集合里的对象时如果没进行同步处理,就会出错。这里强调的是对象包含的具体数据,前者强调的是
对象本身的类型。

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
个人认为,简单的说泛型是给编译器看的,避免了一些类型转化的错误。线程的安全是访问导致的死锁或者不同步。这两个安全问题,本质上扯不上关系。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马