たとえば、次の 2 つのクラスがあるとします。
public class TestA {}
public class TestB extends TestA{}
を返すメソッドがありList<TestA>
、そのリスト内のすべてのオブジェクトを にキャストして、TestB
が得られるようにしたいと考えていますList<TestB>
。
ベストアンサー1
単純にキャストするだけでList<TestB>
ほぼ機能しますが、1 つのパラメーターのジェネリック型を別のパラメーターにキャストすることはできないため、機能しません。ただし、中間のワイルドカード型を介してキャストすることは可能であり、許可されます (ワイルドカード型との間でキャストできるため、チェックされていない警告が表示されます)。
List<TestB> variable = (List<TestB>)(List<?>) collectionOfListA;