为了账号安全,请及时绑定邮箱和手机立即绑定

您好,想了解一下,关于List集合使用泛型与不使用泛型有什么区别??

您好,想了解一下,关于List集合使用泛型与不使用泛型有什么区别??

12345678_0001 2021-05-18 19:15:15
java中List集合使用泛型与不使用泛型有什么区别?例如:List lists=new ArrayList();和List<String> lists=new ArrayList<String>();他们两者有什么样区别?
查看完整描述

2 回答

?
噜噜哒

TA贡献1784条经验 获得超7个赞

从list中取出的值不一样,第一种的话取出来是object类型的,需要强制类型转换,而第二个不用,取出来之后直接就是string类型的

查看完整回答
反对 回复 2021-05-23
?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

泛型其实还有一个通俗的名字:参数化类型(使用参数指明了该传什么类型)。就是明确指定了运行期集合中对象的类型。如果没有泛型,那我一切的对象直接使用Object和强制类型转换就解决了不是吗?但是这种有个问题,就是会在运行期出现随处可见的强制类型转换异常ClassCastException。而指定了参数化类型,是不是我们在编译期就进行检查了,传入List<String>类型,List里面只能放入String,你add其他类型编译不会通过的,就不要提运行期检查了。。。所以你提泛型搞不懂就理解为参数化类型这个事就完事了

查看完整回答
反对 回复 2021-05-23
  • 2 回答
  • 0 关注
  • 279 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信