Описание тега diamond-operator

Оператор ромба (<>) используется в Perl для ввода-вывода и в Java для обобщений.

Perl

Алмазный оператор Perl - это частный случай оператора потокового ввода. <FILEHANDLE>когда дескриптор файла для чтения оставлен недействительным. В таком случае он пытается подражатьsed/awk поведение при чтении файлов из командной строки с возвратом к стандартному вводу, если в командной строке не осталось файлов.

Джава

Ява <>конструкция (формально известная как "ромб") была введена в Java SE 7, чтобы сделать объявление и инициализацию универсальных типов более короткими за счет автоматического вывода типов во время создания экземпляров универсального класса. Вы можете узнать больше об этом в Oracle Java Tutorial или Java Language Specification.

Простой пример концепции следующий. Вместо того, чтобы писать это (до Java 7)

Map<String, List<String>> myMap = new HashMap<String, List<String>>();

Начиная с Java 7, вы можете написать это как:

Map<String, List<String>> myMap = new HashMap<>();

(Обратите внимание, что <>НЕ является оператором в Java, несмотря на то, что вы можете слышать или видеть во многих местах, и несмотря на название этого тега! Все официальные источники Oracle подтверждают это.)