2012-04-25 45 views
0

這裏我試圖從另一個項目中獲取uContainer對象。 uContainer的所有setter和getters的返回值設置爲properties file。像一個用戶屬性爲perticular用戶。我正在使用從uContainer實例獲取特定的方法值。但在第四行我的應用程序崩潰。如何使用method.invoke從類調用字符串( - , - )

uContainer是UserContainer類的一個實例。

getSingleResultListing另一個布爾變量UserContainer類具有getters和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對象我得到錯誤..

謝謝..

+0

而那個錯誤是? – 2012-04-25 07:22:22

回答

1

您是鑄造返回的對象爲String,但你沒有得到一個來自該方法的String。您不能通過轉換運算符將對象轉換爲字符串。如果你想要字符串表示,請寫

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

非常感謝..你的代碼工作得很好。我沒有想到使用toString()方法。這對我幫助很大。 – Mdhar9e 2012-04-25 08:31:06