2012-04-25 3 views
0

다른 프로젝트의 uContainer 개체를 얻으려고합니다. 반환 값이 properties file에서 설정되는 모든 setter 및 getter가있는 uContainer. perticular 사용자의 사용자 속성과 같습니다. uContainer 인스턴스에서 Perticular 메서드 값을 가져 오는 데 사용하고 있습니다. 하지만 제 4 라인에서 제 응용 프로그램이 추락했습니다.method.invoke (-, -)를 사용하여 클래스에서 문자열을 호출하는 방법

uContainer는 UserContainer 클래스의 인스턴스입니다.

getSingleResultListing 또한 getters 및 setters 메소드를 사용하는 UserContainer 클래스의 부울 변수입니다.

코드는 아래와 같습니다. uContainer 객체를 호출하는 동안 여기에 네 번째 줄에

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); 

은 내가

감사합니다 ..

+0

으로 작성하십시오. 그 오류는 무엇입니까? –

답변

1

당신은 String에 반환 된 객체를 캐스팅 .. 오류가 점점 오전,하지만 당신은을 받고되지 않습니다 String 그 방법에서. 캐스트 연산자를 통해 객체를 String으로 변환 할 수 없습니다. 문자열 표현을 원할 경우

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

Very Very Thanks..your code가 훌륭하게 작동합니다. 나는 toString() 메서드를 사용하려고하지 않았다. 그것은 나를 많이 도왔다. – Mdhar9e

관련 문제