Сегодня я попытался создать reference конструктор. Почему это неправильно?Java 8 - Generic Supplier
import java.util.Collection;
import java.util.function.Supplier;
class Foo<R extends Collection<Integer>> {
Supplier<R> supplier = R::new; // Compiler error!
}
Текст ошибки:
java: unexpected type
required: class or array
found: type parameter R
Является ли это из-за type erasure? Или, может быть, я делаю это неправильно?
Звонок 'new R();' тоже не работает ... – assylias
Знаете ли вы, что R на момент запуска этого кода? (Подсказка: компилятор этого не делает.) – Seelenvirtuose