List<Sting> list =new ArrayList<>();
和List<Sting> list =new ArrayList<String>();
两者有何区别?
PHPz2017-04-18 09:44:00
沒啥區別。 。資料類型的指定是在List
JDK 1.7 的特性增加了對類型推論的支持。
增強的對通用實例創建(diamond)的類型推斷
类型推断是一个特殊的烦恼,下面的代码: Map<String, List<String>> anagrams = new HashMap<String, List<String>>(); 通过类型推断后变成: Map<String, List<String>> anagrams = new HashMap<>(); 这个<>被叫做diamond(钻石)运算符,这个运算符从引用的声明中推断类型。
迷茫2017-04-18 09:44:00
如果是你表達的
List<Sting> list =new ArrayList<>();
List<Sting> list =new ArrayList<String>();
這兩個沒啥區別,上面一個ArrayList同樣會自動轉換成String的泛型,list可存取的資料型別只能是String型別。而如果你的第一行程式碼改成
List list = new ArrayList();
這樣就有很大的差別,list存取的資料型別是沒有固定的,你可以存取String,Integer甚至Object型別。