Java如何将超类型列表转换为子类型列表?
例如,假设你有两个类:
public class TestA {}public class TestB extends TestA{}
我有一个返回a的方法,Lista List<TestB>
回答:
简单地铸造List<TestB>
几乎可行;但这是行不通的,因为你不能将一个参数的泛型类型转换为另一个参数。但是,你可以强制转换中间通配符类型,并且将允许它(因为你可以强制转换为通配符类型或从通配符类型强制转换,只是带有未选中的警告):
List<TestB> variable = (List<TestB>)(List<?>) collectionOfListA;
以上是 Java如何将超类型列表转换为子类型列表? 的全部内容, 来源链接: utcz.com/qa/412064.html