Warum Sammelliterale?

us den verschiedenen Online-Artikeln zu Java 7 habe ich erfahren, dass Java 7 Sammlungsliterale enthalten wir1 wie folgt:

List<String> fruits = [ "Apple", "Mango", "Guava" ];
Set<String> flowers = { "Rose", "Daisy", "Chrysanthemum" };
Map<Integer, String> hindiNums = { 1 : "Ek", 2 : "Do", 3 : "Teen" }; 

Meine Fragen sind:

äre es nicht möglich gewesen, eine statische Methode anzugebeof in allen Collection-Klassen, die wie folgt verwendet werden könnten:

List<String> fruits = ArrayList.of("Apple", "Mango", "Guava");

IMO das sieht genauso gut aus wie die wörtliche Version und ist auch einigermaßen prägnant. Warum mussten sie dann eine neue Syntax erfinden BEARBEITEN Mit "neu" meine ich "neu in Java".)?

Wenn ich sageList<String> fruits = [ "Apple", "Mango", "Guava" ]; wasList würde ich eigentlich bekommen? Wäre esArrayList oderLinkedList oder etwas anderes

1 Wie in den Kommentaren vermerkt, haben Sammlungsliteralenich Mach den Schnitt für Java 7 und Java 8. (Hier ist einEmai von Brian Goetz, einem Oracle-Entwickler, der die Gründe für die Nichteinbeziehung dieser Funktion zusammenfasst; und hier ist dasVorschla selbst.)

Antworten auf die Frage(22)

Ihre Antwort auf die Frage