一尘不染

在两个类完全相同的情况下获取类强制转换异常

java

我正在做一个JBoss SEAM项目,当我查看表单时出现此错误。

java.lang.ClassCastException:
it.cogitoweb.csi.entity.csiorelav.CsiTipoLav cannot be cast to
it.cogitoweb.csi.entity.csiorelav.CsiTipoLav

它总是与屏幕上显示的表单相关的同一JPA类,对我来说为什么它是同一类似乎没有意义,这似乎是不可能的。


阅读 380

收藏
2020-09-08

共1个答案

一尘不染

当两个不同的ClassLoader对象加载具有相同名称的类时,就会发生这种情况。Java中两个类的相等性取决于完全限定名称
加载它的类加载器。

因此,如果两个独立的类加载器从同一位置加载类,则这些类型的对象将无法转换为彼此的类型,即使它们的类被称为相同的类也是如此。

2020-09-08