我正在用java编写一个软件,这个继承问题总会出现。有趣的是,当我在我的IDE
(Eclipse Kepler)中运行程序时,我不会遇到问题,但是一旦我将它导出到可执行jar,就会出现问题。我认为我是唯一一个遇到此问题的人,因为谷歌上的所有搜索都显示出直接相反的结果。
我的问题是我有一个名为VoteType
的界面。该接口由几个具体类实现。我使用XMLEncoder
将具体实现保存到文件中,并使用XMLDecoder
检索它。
但是当我尝试将其强制转换为实现VoteType
的界面时,我得到了ClassCastException
。什么可能导致这个?
答案 0 :(得分:0)
你不够精确地跟踪它,但我认为接口和实现接口的对象以及通过XMLDecoder创建的对象是由不同的类加载器创建的。这可能是原因吗?
另请参阅此问题:Solution for the ClassCastException due to ClassLoader issue