このコードを考えると:
List<Integer> ints = new ArrayList<Integer>();
// Type mismatch:
// cannot convert from Class<capture#1-of ? extends List> to Class<List<Integer>>
Class<List<Integer>> typeTry1 = ints.getClass();
// Type safety:
// Unchecked cast from Class<capture#2-of ? extends List> to Class<List<Integer>>
Class<List<Integer>> typeTry2 = (Class<List<Integer>>) ints.getClass();
// List is a raw type. References to generic type List<E> should be parameterized
Class<? extends List> typeTry3 = ints.getClass();
エラーや警告なしClass
で aを取得する方法はありますか? List<Integer>
警告を簡単に抑制することができますが、Java がこの有効なコードに対して警告を抑制する必要がある場合、私は非常に失望します。
一方、警告の抑制が唯一の方法である場合、抑制するのが最も安全な方法は何ですか?