private Queue<Airline> queue = new Queue<Airline>();
Выше указано, как универсальные типы должны были быть указаны с момента их выпуска в Java 5. У вас есть Queue
универсального типа Airline
, поэтому вы создаете экземпляр как таковой (на с правой стороны) и объявляют как таковые (с левой стороны.)
В Java 7, однако, введен оператор Diamond , который позволяет генерировать обобщенный тип, который является экземпляром , из обобщенного типа, который объявлен :
private Queue<Airline> queue = new Queue<>();
Таким образом, в этом примере компилятор делает вывод, что экземплярный тип должен быть Queue<Airline>
из объявления, и обрабатывает его как таковой.
Как сказано в комментариях выше, разница заключается исключительно в синтаксическом сахаре, то есть в чисто компиляции. Скомпилированный байт-код и, следовательно, поведение во время выполнения будут одинаковыми для обоих случаев.