ho trovato un modo per creare generica linea array con varargs e anonimo classe interna:Quali sono i potenziali rischi della creazione di array generici con vararg in Java?
import java.util.Arrays;
import java.util.Objects;
public class GenericArrayCreate<C> {
public void method() {
C[] ans = new Object() { C[] c(int length, C ... cs) { return Arrays.copyOf(cs, length); }}.c(10);
System.out.println(ans.length);
System.out.println(Objects.toString(ans));
}
public static void main(String[] args) {
new GenericArrayCreate<Class<? extends Integer>>().method();
}
}
Java compilatore non produce alcun avvertimento su questo codice, mentre ispezione del codice (in IntelliJ) dice:
Unchecked generics array creation for varargs parameter
Cosa sta succedendo qui e perché sta bestemmiando?
@ Hai qualche commento sulla mia risposta? – Troncador