2014-10-06 2 views
1

내가 자바 프로그래밍에 비교적 새로운 오전, 난 익명 객체의 속성에 액세스하려고이 내 객체입니다액세스 자바 익명의 개체 속성

Object tomorowWeekday = convertedTimeForAndroid(openHours, tomorrow); 

디버거를 통해 평가자,이 같은 같습니다 enter image description here

키 값 쌍 "to"와 "from"에 액세스해야하는데 tomorrowWeekday.get("from")과 같은 방법이 없습니다.

익명 개체에서이 값에 어떻게 액세스합니까?

답변

2

변경

JSONObject tomorowWeekday = convertedTimeForAndroid(openHours, tomorrow); 

에 현재 Object에 선언 된 유형을 설정하고 있습니다. 즉, 실제 유형이 JSONObject인데도 Object에 노출 된 메소드 이외의 메소드를 볼 수 없음을 의미합니다. 신고 된 유형을 실제 유형과 동일하게 설정하면 필요한 모든 방법을 볼 수 있습니다.

JSONObjectObject의 서브 클래스이므로 실제 코드는 유효하지만 사용자가 추상화 한 코드는 Object입니다. 이것은 종종 유용한 트릭이지만, 왜 그렇게하는지 알지 못하면 고용 할 수 없습니다.

는 (그것은 익명이 아닌 보조 노트, 익명 여기에 아주 적합하지 않은 단어로 :. 그 이름은 tomorrowWeekday입니다.)

0

필드 및 개체에 액세스 할 수있는 방법이에 따라 달라집니다 당신이 그것에 사용하는 변수의 타입. 위의 코드에서 변수 Object을 사용하고 있으며 nameValuePairs 속성에 대한 지식이 없습니다. 참조의 유형을 실제 오브젝트를보다 잘 나타내는 것으로 변경해야합니다. 디버거에서 nameValuePairs이 유형이 JSONObject이므로 JSONObject 변수로 참조하는 경우 여기에 지정된 API를 사용하여 액세스 할 수 있습니다. http://www.json.org/javadoc/org/json/JSONObject.html

관련 문제