Из различных онлайн-статей на Java 7 я узнал, что Java 7 будет иметь литералы коллекции 1 как показано ниже:
List<String> fruits = [ "Apple", "Mango", "Guava" ];
Set<String> flowers = { "Rose", "Daisy", "Chrysanthemum" };
Map<Integer, String> hindiNums = { 1 : "Ek", 2 : "Do", 3 : "Teen" };
Мои вопросы:
- Было бы невозможно предоставить статический метод
of
во всех классах коллекции, которые можно было бы использовать следующим образом:
List<String> fruits = ArrayList.of("Apple", "Mango", "Guava");
IMO выглядит так же хорошо, как буквальная версия, а также достаточно кратким. Почему тогда им пришлось придумать новый синтаксис ( EDIT: По "новому" я имею в виду "новый для Java".)?
- Когда я скажу
List<String> fruits = [ "Apple", "Mango", "Guava" ];
, чтоList
мог бы я получить? Это будетArrayList
илиLinkedList
или что-то еще?
1 Как отмечалось в комментариях, литералы коллекции не вырезали для Java 7 и не Java 8. (Здесь электронная почта от Брайана Гетца, разработчика Oracle, в котором излагается обоснование отсутствия этой функции, а вот .)