Подтвердить что ты не робот

Что означает <> для дженериков java?

У меня есть немного кода:

class MyClass<RCM> 
  private List<RCM> allPreExistingConfigsForCodes() {
    if(this.allCodesForThisType.size() == 0)
       return new ArrayList<RCM>(0);

IntelliJ говорит мне, что я должен заменить new ArrayList<RCM> на new ArrayList<>, что это значит?

4b9b3361

Ответ 1

Из урока уроков Java Tutorials:

В Java SE 7 и более поздних версиях вы можете заменить аргументы типа, необходимые для вызывать конструктор универсального класса с пустым набором типов arguments (<>) до тех пор, пока компилятор может определить или вывести введите аргументы из контекста. Эта пара угловых скобок <>, является неофициально назвали алмаз. Например, вы можете создать экземпляр из Box<Integer> со следующим утверждением:

Box<Integer> integerBox = new Box<>();