Ich wollte eine Liste von Optionen zu Testzwecken erstellen. Zuerst habe ich dies getan:
ArrayList<String> places = new ArrayList<String>();
places.add("Buenos Aires");
places.add("Córdoba");
places.add("La Plata");
Dann habe ich den Code wie folgt umstrukturiert:
ArrayList<String> places = new ArrayList<String>(
Arrays.asList("Buenos Aires", "Córdoba", "La Plata"));
Gibt es eine bessere Möglichkeit, dies zu tun?
43 Stimmen
Wenn dies für Unit-Tests gedacht ist, sollten Sie Groovy einmal ausprobieren. Sie können Ihren Testcode in Groovy schreiben, während Sie Java-Code testen, und mit
ArrasyList<String> places = ["Buenos Aires", "Córdoba", "La Plata"]
5 Stimmen
In Java SE 7 können Sie den parametrisierten Typ des Konstruktors durch eine leere Menge von Typparametern (<>) ersetzen: Map<String, List<String>> myMap = new HashMap<>();
2 Stimmen
Siehe auch stackoverflow.com/questions/157944/erstelle-arraylist-aus-array
2 Stimmen
Doppelte Klammern zur Initialisierung verwenden :)
0 Stimmen
Es scheint, dass Sie sich die Frage selbst beantwortet haben: ArrayList<String> places = new ArrayList<String>(asList("Buenos Aires", "Córdoba", "La Plata")); Arrays in Arrays.asList ist nicht erforderlich.
13 Stimmen
Stream.of("val1", "val2").collect(Collectors.toList()); //erzeugt ArrayList, Java8-Lösung.
0 Stimmen
Warum nicht einfach String [] places = {"Buenos Aires", "Córdoba", "La Plata"); ?
0 Stimmen
@PaulSmith Er könnte an einem elastischen Array interessiert sein, das dynamisch wachsen kann. Ihre Initialisierung macht Orte nur drei Elemente zu haben.
4 Stimmen
Ich verstehe nicht, warum wir nicht so etwas haben können wie
List<Integer> = {1, 2, 3, 4, 5}
in Java. Erstellen und init ein veränderbares Array in einer Zeile, wie ich weiß, Python und Swift könnte das tun.