Java List.sort上的ClassCastException

Java List.sort上的ClassCastException,java,sorting,lambda,Java,Sorting,Lambda,我有一个实体bean,我们称之为MyEntity。在得到一个列表后,我按照以下方式对它们进行排序: List<MyEntity> results = query.getResultList(); results.sort((e1, e2)->e1.getKey().getTime().compareTo(e2.getKey().getTime())); 告诉我它不能将MyBean转换为MyBean没有任何意义。编译代码的Java版本正在运行代码,因此这不是类版本问题(至少我可

我有一个实体bean,我们称之为MyEntity。在得到一个列表后,我按照以下方式对它们进行排序:

List<MyEntity> results = query.getResultList();
results.sort((e1, e2)->e1.getKey().getTime().compareTo(e2.getKey().getTime()));
告诉我它不能将MyBean转换为MyBean没有任何意义。编译代码的Java版本正在运行代码,因此这不是类版本问题(至少我可以理解)

分类MyBean的类是一个SLSB,它位于com.beanpackage.subpackage中,因此它位于MyBean所在位置的子包中。我认为这不重要

这是在Wildfly 9中运行的

还有谁见过这个吗?这里有什么简单的东西我遗漏了吗


谢谢你的帮助

这个问题是因为当同一个类被不同的类加载器加载时,会出现一条神秘的消息“java.lang.ClassCastException:com.beanpackage.MyBean不能强制转换为com.beanpackage.MyBean”。顺便说一句,使用
Comparator.comparating(e->e.getKey().getTime())
来避免代码重复。谢谢你们!首先,Holger我欣赏代码技巧,仍然习惯于Java8ISMS(我们是一家航空航天公司,我对最终使用Java8和Wildfly感到兴奋),所以我总是喜欢在不牺牲可读性的情况下最小化代码的方法。而MJSG,这正是问题所在。我没有意识到构建过程将包粘贴在两个不同的jar中(我正在更新的是一个遗留包)。我将MyBean从第二个罐子中排除,因为它实际上不需要放在里面,而且一切都很好。谢谢你的帮助,干杯!
Caused by: java.lang.ClassCastException: com.beanpackage.MyBean cannot be cast to com.beanpackage.MyBean
    at java.util.TimSort.countRunAndMakeAscending(TimSort.java:355)