我在获取java.lang.ClassCastException: org.mozilla.javascript.NativeJavaObject cannot be cast to my custom object
时将rhino脚本的类型转换为java bean。
String scriptText = "importClass(com.UserBean);\nfunction getUser()\n{\nvar user = UserFactory.getInstance().getDefaultUser();\nreturn user;\n}"
UserBean user = (UserBean) executeScript(scriptText);
但是,虽然类型转换我得到类转换异常,我是否需要在脚本中编写以将本机对象转换为UserBean。
在这里我得到了答案,我需要将原生对象转换为对象然后键入强制转换。
NativeJavaObject nativeObject = (NativeJavaObject) executeScript(scriptText);
UserBean user = (UserBean) nativeObject.unwrap();