登录

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

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

# Java
迷茫迷茫2140 天前410 次浏览

全部回复(1) 我要回复

  • PHPzhong

    PHPzhong2017-04-17 17:26:05

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

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

    回复
    0
  • 取消回复发送