繁体   English   中英

如何使用method.invoke(-,-)从类中调用字符串

[英]How to invoke a string from a class using method.invoke(-,-)

在这里,我试图从另一个项目中获取uContainer对象。 uContainer具有所有setter和getter,并具有从properties file设置的返回值。 像用户属性一样针对特定用户。 我正在使用从uContainer实例获取特定方法的值。 但是在第四行,我的应用程序崩溃了。

uContainer是UserContainer类的实例。

getSingleResultListing也是UserContainer类中的一个布尔变量,具有getter和setters方法。

代码如下。

Method getUContainer = form.getClass().getMethod("getUserContainer", new Class[0]);
Object uContainerObj = (Object)getUContainer.invoke(form, new Object[0]);
Method getFlagValueMethod = uContainerObj.getClass().getMethod("getSingleResultListing", new Class[0]);
String flagValue = (String)getFlagValueMethod.invoke(uContainerObj, new Object[0]);
log.info(">>>flagValue: "+flagValue);
boolean singleListingFlag = Boolean.getBoolean(flagValue);
log.info(">>>singleListingFlag: "+singleListingFlag);

在第四行中,在调用uContainer对象时出现错误。

谢谢..

您正在将返回的对象强制转换为String ,但是没有从该方法获取String 您不能通过强制转换运算符将对象转换为String。 如果要使用字符串表示形式,请编写

String flagValue = getFlagValueMethod.invoke(uContainerObj, new Object[0]).toString();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM