¿Por qué los literales de colección?
De los diversos artículos en línea sobre Java 7, he llegado a saber que Java 7 tendrá literales de colección1 como el siguiente:
List<String> fruits = [ "Apple", "Mango", "Guava" ];
Set<String> flowers = { "Rose", "Daisy", "Chrysanthemum" };
Map<Integer, String> hindiNums = { 1 : "Ek", 2 : "Do", 3 : "Teen" };
Mis preguntas son:
¿No hubiera sido posible proporcionar un método estático?of
en todas las clases de colección que podrían usarse de la siguiente manera:List<String> fruits = ArrayList.of("Apple", "Mango", "Guava");
En mi opinión, esto se ve tan bien como la versión literal y también es razonablemente conciso. ¿Por qué entonces tuvieron que inventar una nueva sintaxis (EDITAR: Por 'nuevo' quiero decir 'nuevo en Java'.)
Cuando yo digoList<String> fruits = [ "Apple", "Mango", "Guava" ];
quéList
¿De verdad lo conseguiría? Podría serArrayList
oLinkedList
¿o algo mas?1 Como se señaló en los comentarios, los literales de colección hicieronno haga el corte para Java 7, ni Java 8. (Aquí hay uncorreo electrónico de Brian Goetz, un desarrollador de Oracle, que resume las razones para no incluir esta función; y aquí está elpropuesta sí mismo.)