|
|
1
28
不可能。类标识由完全限定名和类装入器组成。
将对象强制转换为由不同类加载器加载的具有相同名称的类与尝试强制转换
|
|
|
2
9
我刚刚花了两天的时间来解决这个问题,最后通过使用java反射解决了这个问题:
希望这对别人有帮助。 |
|
|
3
8
如果需要强制转换的类实现可序列化,则:
用法:
|
|
4
4
无法在不同的类加载器中强制转换。 你有这个 变通办法 对于Gson,示例将对象强制转换为YourObject(Object是YourObject类,但在其他类加载器中):
我使用这种变通方法是因为我在WebApp(在Tomcat上)中编译任何java代码。此解决方案在生产中运行。 |
|
5
3
也许是一些使用接口和
|
|
|
6
0
这是一个旧的职位,我到达,因为我想做几乎相同的事情,但一个更简单的版本。。。 如果Foo和加载的类(在我的例子中来自另一个包中的.java类文件)都扩展同一个类,比如AbstractTestClass,那么它实际上可以工作。 代码片段:
|
|
|
Raphael · 确定未能加载的类文件的路径 8 年前 |
|
|
Guest · 常量池和方法区域的映射 8 年前 |
|
|
flow2k · 解析扩展了接口并结束了一个潜在的无限循环 9 年前 |
|
|
Pneumono · 在运行时更改系统类加载器 9 年前 |
|
|
user3250354 · 使用Java类加载器获取堆栈跟踪 10 年前 |
|
|
DoNuT · 通过Classloader加载Maven工件 10 年前 |