java - 如何在 Java 中从另一个包中转换出同一类的类型?

标签 java casting

有两个类

foo.bar.FileUploaderbarbar.foofoo.FileUploader

两者相同并扩展了Uploader

代码中的某个位置使用了 foo.bar.FileUploader ,并将其作为 Uploader 类型的参数提供给我的函数。

现在我需要将其转换回 FileUploaderbarbar.foofoo.FileUploader。这会产生错误:

ERROR - unhandled error java.lang.ClassCastException: foo.bar.FileUploader cannot be cast to barbar.foofoo.FileUploader

我不知道出了什么问题,我想是因为包不同。在这种情况下:有没有办法仍然使用该类并完成转换?

最佳答案

从技术上讲,它们不是同一类。

您收到 ClassCastException,因为 JVM 根本不将它们视为同一类型。也许您应该让两个类实现相同的接口(interface)并强制转换为该接口(interface)?或者,一开始就只上一门课,然后去掉 Actor 阵容?

关于java - 如何在 Java 中从另一个包中转换出同一类的类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3297361/

相关文章:

c# - 为什么在测试受约束的泛型类型时直接转换失败但 "as"运算符成功?

c++ - NULL 指针与 static_cast 的兼容性

c++ - 在字符数组中使用 static_cast 来使用字符串函数

java - @Test 创建新记录

java - 如何在 Eclipse 中使用 JUnit

properties - typescript 类型转换对象的属性

c - 将 void * 类型转换(或遵从)为 struct foo*

java - 左手坐标系的历史原因

java - 当我尝试写入或更新 SQLite 数据库时,我的联系人应用程序停止

java - 从外部库 jython 导入