私は可変引数と匿名内部クラスと一般的な配列をインラインで作成する方法を発見した:Javaでvarargsを使ってジェネリックアレイを作成する潜在的なリスクは何ですか?
Unchecked generics array creation for varargs parameter
:(IntelliJの中)コード検査が言うながら
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コンパイラは、このコードには警告を生成します
ここで何が起こっているのですか、なぜそれが誓いますか?
@私の答えについてのコメントを薄暗くする? – Troncador