я Java 6 я могу объявить ArrayList следующимИспользование дженериков с правой стороны в Java 6?
Way1: использование дженериков, то есть <Integer>
с правой стороны тоже
List<Integer> p = new ArrayList<Integer>();
Way2: с помощью алмазного оператора
List<Integer> p = new ArrayList<>();
Way3: с помощью общее с левой стороны
List<Integer> p = new ArrayList();
Я предпочитаю использовать способ 3 как его краткое описание. Есть ли разница между этими способами? Какой из них мы должны предпочесть и почему?
Обновление: Я знаю, что в java 7-й способ рекомендуется, но мой вопрос в контексте java 6. Какой из них предпочтительнее?
Для меня, путь 3 также говорит p является архаистом целых чисел (тот же передан в пути1). Поэтому я не вижу никакой разницы, кроме того, что в IDE отображается предупреждающее сообщение:
ArrayList - это необработанный тип. Ссылки на общий тип
ArrayList<E>
должны быть параметризованными
Обратите внимание, что информация в теге [diamond-operator] уже отвечает на ваш вопрос. Просто наведите указатель мыши на этот тег и прочитайте первое предложение его описания: * Оператор алмаза (<>) был введен в Java SE 7 *** –
На самом деле я имел в виду дженерики с правой стороны. см. мое обновление –
какая часть * это доступно с Java 7 * относительно алмазного оператора, которого вы все еще не понимаете? Это похоже на использование дженериков в Java 1.4 или ранее: он не существовал, поэтому вы не можете его использовать. –