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

java的List与List<object>什么区别?

java的List与List<object>什么区别?

沧海一幻觉 2019-03-13 17:19:20
项目中需要用一个List接多种List<T>。这样写List<Object> list = getType1List();编译不通过,提示获取的类型与指定的类型不匹配。但是换成List list = getType1List();就能编译通过了。这是为什么呢?
查看完整描述

3 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

List<Object>不行因为 List<T>对T是不变 (协变/逆变/不变的不变)的

List (没有<>)是个raw type, 允许更类型不安全的写法, 不建议在现代代码中使用

建议引入类型变量来解决, 或者用List<?> list


查看完整回答
反对 回复 2019-04-17
?
心有法竹

TA贡献1866条经验 获得超5个赞

getType1List()这个方法的返回值没有带泛型


查看完整回答
反对 回复 2019-04-17
?
互换的青春

TA贡献1797条经验 获得超6个赞

getType1List()返回类型是什么?


查看完整回答
反对 回复 2019-04-17
  • 3 回答
  • 0 关注
  • 440 浏览

添加回答

举报

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