Разберите, почему параметризованный varargs в Java может привести к загрязнению кучи даже при предупреждении компилятора.
База Hintsage
Generics
Параметризация типов, bounds, wildcards и стирание типов.
Практика
Вопросы: Generics
Объясните, почему параметризованный класс нельзя сделать наследником Throwable в Java.
При проверке объекта через instanceof какие формы параметризованных типов Java разрешает использовать после стирания типов, а какие отвергает компилятор?
Какой риск возникает при передаче параметризованной коллекции в API, принимающий raw-тип?
Как компилятор обрабатывает неизвестный параметр типа коллекции, из которой разрешено читать, но нельзя добавлять произвольное значение?
Какую нижнюю границу wildcard выбрать, чтобы метод безопасно добавлял Integer в коллекцию Integer или его супертипа?
Как стирание типов влияет на возможность создать массив параметризованного типа в Java?
Сравните параметр типа с верхней границей и wildcard с верхней границей: какой вариант сохраняет в результате метода конкретный тип аргумента?
В API метода нужно только читать значения типа T из коллекции и принимать коллекции T и его подтипов. Какую параметризацию параметра выбрать?
При разборе класса нужно определить результат компиляции и причину.
import java.util.List;
class Converter {
static void convert(List<String> values) {}
static void convert(List<Integer> values) {}
}
Скомпилируется ли этот класс?
Показано 41–50 из 50