我是比較新的Java編程,我試圖訪問一個匿名對象的屬性,這是我的目標:使用Java匿名對象的屬性
Object tomorowWeekday = convertedTimeForAndroid(openHours, tomorrow);
通過調試檢查,它看起來是這樣的:
我需要訪問鍵值對「to」和「from」,沒有方法,如tomorrowWeekday.get("from")
。
我將如何訪問匿名對象中的這些值?
我是比較新的Java編程,我試圖訪問一個匿名對象的屬性,這是我的目標:使用Java匿名對象的屬性
Object tomorowWeekday = convertedTimeForAndroid(openHours, tomorrow);
通過調試檢查,它看起來是這樣的:
我需要訪問鍵值對「to」和「from」,沒有方法,如tomorrowWeekday.get("from")
。
我將如何訪問匿名對象中的這些值?
更改爲
JSONObject tomorowWeekday = convertedTimeForAndroid(openHours, tomorrow);
你聲明的類型目前設定爲Object
。這意味着即使實際類型爲JSONObject
,您也看不到除Object
外的其他方法。使聲明的類型與實際類型相同,您將能夠看到所需的所有方法。
因爲JSONObject
是Object
的子類(事實上每個類都是),所以您當前的代碼是合法的,但這意味着您要抽取Object
中不存在的任何功能。這有時是一個有用的竅門,但除非你知道你爲什麼要這樣做,否則不會僱用。
(作爲一個方面說明,字匿名不太適合這裏,是不是匿名的:它的名字是tomorrowWeekday
。)
的領域和方法,你可以在對象上訪問取決於您使用的變量的類型。在上面的代碼中,您使用的是變量Object
類型,該類型不具有您的nameValuePairs
屬性的任何知識。您需要將參考的類型更改爲更具代表性的實際對象。您的調試器說nameValuePairs
的類型爲JSONObject
,因此如果您使用JSONObject
變量進行參考,則可以使用此處指定的API訪問它:http://www.json.org/javadoc/org/json/JSONObject.html