bu işi yapar Neden:Başlatma listesi <> Arrays.asList
String[] array = {"a", "b", "c"};
List<String> list = Arrays.asList(array);
ama bu değil: inşa ve bir dizi atarken
List<String> list = Arrays.asList({"a","b","c"});
bu işi yapar Neden:Başlatma listesi <> Arrays.asList
String[] array = {"a", "b", "c"};
List<String> list = Arrays.asList(array);
ama bu değil: inşa ve bir dizi atarken
List<String> list = Arrays.asList({"a","b","c"});
Bu kısa bir eldir sadece.
String[] array = {"a", "b", "c"};
Gerçi bunu yapabilirsiniz: asList
gibi
List<String> list = Arrays.asList("a","b","c");
"vararg" argümanlar alabilir.
Sen
List<String> list = Arrays.asList(new String[] {"a","b","c"});
Sorunuz neden bir eser ve diğeri sağ olmuyorsa deneyebilirsiniz?
Eh, nedeni geçerli bir Java ifadesi ve bu nedenle derleyici kabul edemez.
Neyi ima ediyorsanız, bir full array creation expression (JLS 15.10) sağlamadan bir dizi başlatıcıyı iletmek istediğinizdir. Diğerleri işaret olarak
doğru dizi oluşturma ifadeleri aşağıdaki gibidir: JLS 10.6 Array Initializers belirtildiği gibi
String[] array = {"a", "b", "c"};
veya JLS 15.10 Array Creation Expressions belirtildiği gibi
String[] array = new String[]{"a", "b", "c"};
.
Bu ikincisi satır içi için yararlıdır, böylece doğrudan bir dizi değişkeni yerine iletebilirsiniz.
List<String> list = Arrays.asList(new String[]{"a", "b", "c"});
Veya sadece otomatik olacak değişken değişkenler geçirebilirsiniz: Arrays
yılında asList
yöntem değişken argümanları kullanır ve Değişken parametreler ifadeleri diziler eşlenir yana
, sen gibi bir satır içi dizisi geçebileceği ya bir dizinin eşleştirilmiş:
List<String> list = Arrays.asList("a","b","c");
Hayır, 'Arrays.asList ("a", "b", "c",) yapabilir;' kısa ve OP'ın asıl soruya daha benzemektedir. –
Thomas'ın söylediği şey hala geçerli ve bir düşüşü hak etmiyor. – Jeshurun
Hayır, söylediği "Yazmak için * yazdınız", bu doğru değil, evet, o * bir downvote hak ediyor. –