java的List与List什么区别?

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

List list = getType1List;这种写法,是以前Java没有泛型的时候的写法,这种写法是类型不安全的,由于没有类型参数,所以往里面放什么类型都是可以编译通过的。

有了泛型以后一般都是推荐用泛型来写的,使用类型参数,List<Object> list = getType1List;就是像这样,编译器会检查放入的类型是否和类型参数一致,不一致的话编译器会报错。

发表评论

电子邮件地址不会被公开。 必填项已用*标注