项目中需要用一个List接多种List<T>。这样写List<Object> list = getType1List();编译不通过,提示获取的类型与指定的类型不匹配。但是换成List list = getType1List();就能编译通过了。这是为什么呢?
List
List<T>
List<Object> list = getType1List();
List list = getType1List();
业精于勤,荒于嬉;行成于思,毁于随。
像List list = getType1List();這種寫法,是以前Java沒有泛型的時候的寫法,這種寫法是類型不安全的,由於沒有類型參數,所以往裡面放什麼類型都是可以編譯通過的。 List list = getType1List();这种写法,是以前Java没有泛型的时候的写法,这种写法是类型不安全的,由于没有类型参数,所以往里面放什么类型都是可以编译通过的。
有了泛型以后一般都是推荐用泛型来写的,使用类型参数,List<Object> list = getType1List();
像
List list = getType1List();
這種寫法,是以前Java沒有泛型的時候的寫法,這種寫法是類型不安全的,由於沒有類型參數,所以往裡面放什麼類型都是可以編譯通過的。List list = getType1List();
这种写法,是以前Java没有泛型的时候的写法,这种写法是类型不安全的,由于没有类型参数,所以往里面放什么类型都是可以编译通过的。有了泛型以后一般都是推荐用泛型来写的,使用类型参数,
有了泛型以後一般都是推薦用泛型來寫的,使用型別參數,List<Object> list = getType1List();
List
就是像這樣,編譯器會檢查放入的型別是否和型別參數一致,不一致的話編譯器會報錯。 🎜