在这个问题上我需要一个认真的帮助。可能是很基本的,但是,我想不出来。我有一个会话ejb,它有一个返回枚举数组的方法,即BlndItmTmMthd
数组。当我在客户端调用该方法时,它会给我一个ClassCastException
。
java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [LBlndItmTmMthd
在调试时,我发现ejb方法通过调用
BlndItmTmMthd
正确地返回BlndItmTmMthd.values()
数组。我无法找出原因。任何想法都会有帮助的。从下面的评论添加内容
agreementsession.java是包含以下方法声明的ejb接口:
BlndItmTmMthd[] getAllBlendedItemTimingMethods();
agreementsessionejb.java是实现它的ejb。
public BlndItmTmMthd[] getAllBlendedItemTimingMethods() {
BlndItmTmMthd[] blendedItemTmingMethods = BlndItmTmMthd.values();
return blendedItemTmingMethods;
}
现在,在客户端,当我使用以下代码调用ejb方法时:
BlndItmTmMthd[] _timingMethods =
getLoanScheduleSetupSession().getAllBlendedItemTimingMethods();
我得到了运行时异常。
最佳答案
错误中的“[L”告诉您问题所在—Java无法将对象数组(即对象[])转换为blnditmtmthds数组(blnditmtmthd[])。
blnditmmmthd真的是java.lang.enum吗?