Недавно наткнулся на такой пример :
class Test {
static void say(Set<Double>... set) {
}
}
На сколько я знаю, Varargs создает массив из переданных аргументов, а массивы generic создавать нельзя.
Set<Double>[] setOfDoubles= new HashSet<Double>[2]; // ошибка компиляции
Каким образом создается массив коллекции с generic в данном случае?
@SuppressWarnings("unchecked")
Set<Double>[] setOfDoubles = (Set<Double>[]) new HashSet[2];
или
Set<Double>[] setOfDoubles = new HashSet[2];
а потом при использовании приводить тип
Сборка персонального компьютера от Artline: умный выбор для современных пользователей