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

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

项目中需要用一个List接多种List<T>
这样写List<Object> list = getType1List();编译不通过,提示获取的类型与指定的类型不匹配。
但是换成List list = getType1List();就能编译通过了。这是为什么呢?


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

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

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


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


getType1List()返回类型是什么?

【热门文章】
【热门文章】