首页 >Java >java教程 >如何在 Java 中安全地将超类型列表转换为子类型列表?

如何在 Java 中安全地将超类型列表转换为子类型列表?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-08 19:28:11904浏览

How Can I Safely Cast a List of Supertypes to a List of Subtypes in Java?

将超类型列表转换为子类型列表

考虑以下涉及两个类的场景:

public class TestA {}
public class TestB extends TestA {}

您有一个返回列表并希望将其转换为 List;不失去类型安全性。

转换方法

转换到列表;由于类型擦除,直接不起作用。但是,有一种使用中间通配符类型的解决方法:

List<TestB> variable = (List<TestB>)(List<?>) collectionOfListA;

这种方法是允许的,因为您可以在通配符类型之间进行转换,尽管会出现未经检查的警告。通配符类型充当中间步骤,允许您将超类型元素列表转换为子类型元素列表。

以上是如何在 Java 中安全地将超类型列表转换为子类型列表?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn