在我的 Java 程序中,我需要将类型的对象List<? extends SomeBaseClass>
转换为List<SomeBaseClass>
. 如果我直接转换它,编译器会抱怨(显示警告)存在未经检查的转换。即使我可以确定所有对象都可以转换为它们的超类,编译器不会注意到它并报告未经检查的强制转换。我怎样才能摆脱警告?除了@SupressWarnings("unchecked") 还有其他方法吗?
PS:代码工作正常,我只是好奇是否有更好的做事方式。
编辑:
解决方案:如果他确定将来不会更改列表,则应该只进行这种类型的演员表。但是,当我们将单个对象从列表中取出时,最好将它们强制转换。