Rumah > Soal Jawab > teks badan
List<Sting> list =new ArrayList<>();
和List<Sting> list =new ArrayList<String>();
两者有何区别?
PHPz2017-04-18 09:44:00
Tiada perbezaan. . Jenis data ditentukan apabila Senarai<String>.
Ciri JDK 1.7 menambah sokongan untuk inferens jenis.
Inferens jenis dipertingkatkan untuk penciptaan contoh generik (berlian)
类型推断是一个特殊的烦恼,下面的代码: Map<String, List<String>> anagrams = new HashMap<String, List<String>>(); 通过类型推断后变成: Map<String, List<String>> anagrams = new HashMap<>(); 这个<>被叫做diamond(钻石)运算符,这个运算符从引用的声明中推断类型。
PHP中文网2017-04-18 09:44:00
Tiada perbezaan Bermula dari jdk1.7, anda boleh menghilangkan String dalam kurungan sudut di sebelah kanan.
(Sebelah kanan disimpulkan oleh generik dalam pengisytiharan, jadi ia tidak diperlukan.)
迷茫2017-04-18 09:44:00
Jika anda menyatakannya
List<Sting> list =new ArrayList<>();
List<Sting> list =new ArrayList<String>();
Tiada perbezaan antara kedua-dua ArrayList di atas juga akan ditukar secara automatik kepada jenis generik String Jenis data yang boleh diakses oleh senarai hanya jenis String. Dan jika baris pertama kod anda ditukar kepada
List list = new ArrayList();
Ini membuat perbezaan yang besar Jenis data yang diakses oleh senarai tidak tetap Anda boleh mengakses String, Integer dan juga jenis Objek.
阿神2017-04-18 09:44:00
Yang pertama mesti ditulis selepas jdk1.7, jika tidak, yang terakhir mesti ditulis sebelum 1.7, ia juga boleh ditulis seperti ini selepas 1.7