znalazłem sposób, aby utworzyć rodzajowe inline tablicę z varargs i anonimowej klasy wewnętrznej:Jakie są potencjalne zagrożenia związane z tworzeniem ogólnej tablicy z varargs w Javie?
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();
}
}
kompilator Javy nie wytwarza żadnego ostrzeżenia o tym kodzie, natomiast inspekcja kodu (w IntelliJ) mówi:
Unchecked generics array creation for varargs parameter
Co się tutaj dzieje i dlaczego przeklina?
@ Dims komentarz na temat mojej odpowiedzi? – Troncador