从 rhino 脚本返回 Java bean 时获取 class 转换异常

Getting class cast exception while returning Java bean from rhino script

我正在 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);

但是在进行类型转换时我得到了 class 转换异常,我需要在脚本中编写什么来将本机对象转换为 UserBean。

这里我得到了答案,我需要将原生对象转换为对象,然后类型转换。

NativeJavaObject nativeObject = (NativeJavaObject) executeScript(scriptText);
UserBean user = (UserBean) nativeObject.unwrap();