将超类型列表转换为子类型列表
您可能会遇到这样的情况:您有一个超类型的对象列表,并且想要将它们转换为特定的子类型。为了说明这一点,请考虑以下类层次结构:
public class TestA {} public class TestB extends TestA {}
您可能有一个返回 List
解决方案
直接投射到列表
List<TestB> variable = (List<TestB>)(List<?>) collectionOfListA;
这种强制转换是允许的,因为通配符类型既可以强制转换,也可以强制转换,尽管会出现未经检查的警告。通过利用通配符类型作为中介,您可以成功地将超类型列表转换为所需的子类型列表。
以上是如何在 Java 中将超类型列表转换为子类型列表?的详细内容。更多信息请关注PHP中文网其他相关文章!