Я не мог найти ответ на этот точный вопрос в другом месте, но прошу прощения, если это дубликат.Java Generics - Инициализация избыточного типа
Я обычно вижу общие инициализации сделано, как это, с параметром типа рядом с ссылочного типа, а как объект декларации:
Box<Integer> integerBox = new Box<Integer>();
Или в «стенография» метод (с Java 7), используя алмаз:
Box<Integer> integerBox = new Box<>();
Однако я заметил, что код все еще работает после того, как опуская тип параметра рядом с описанием объекта следующим образом:
Box<Integer> integerBox = new Box();
Почему? Является ли это некоторой магией компилятора (кстати, я использую NetBeans).
Заранее спасибо.
Здесь вы можете найти отличный ответ на этот общий вопрос. http://stackoverflow.com/questions/4166966/what-is-the-point-of-the-diamond-operator-in-java-7 – Sam5487