有两个类
foo.bar.FileUploader
和 barbar.foofoo.FileUploader
两者相同并扩展了Uploader
代码中的某个位置使用了 foo.bar.FileUploader
,并将其作为 Uploader
类型的参数提供给我的函数。
现在我需要将其转换回 FileUploader
但 barbar.foofoo.FileUploader
。这会产生错误:
ERROR - unhandled error
java.lang.ClassCastException
:foo.bar.FileUploader
cannot be cast tobarbar.foofoo.FileUploader
我不知道出了什么问题,我想是因为包不同。在这种情况下:有没有办法仍然使用该类并完成转换?
最佳答案
从技术上讲,它们不是同一类。
您收到 ClassCastException,因为 JVM 根本不将它们视为同一类型。也许您应该让两个类实现相同的接口(interface)并强制转换为该接口(interface)?或者,一开始就只上一门课,然后去掉 Actor 阵容?
关于java - 如何在 Java 中从另一个包中转换出同一类的类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3297361/