[英]Access Java anonymous object properties
我是Java编程的新手,我试图访问匿名对象的属性,这是我的对象:
Object tomorowWeekday = convertedTimeForAndroid(openHours, tomorrow);
通过调试器进行检查,结果如下所示:
我需要访问键值对“ to”和“ from”,没有诸如tomorrowWeekday.get("from")
。
如何在匿名对象中访问这些值?
改成
JSONObject tomorowWeekday = convertedTimeForAndroid(openHours, tomorrow);
您当前正在将声明的类型设置为Object
。 这意味着除了Object
公开的方法外,您看不到任何其他方法,即使实际类型为JSONObject
。 使声明的类型与实际类型相同,您将能够看到所需的所有方法。
因为JSONObject
是Object
的子类(实际上每个类都是),所以您当前的代码是合法的,但这意味着您要抽象掉Object
不存在的任何功能。 有时这是一种有用的技巧,但除非您知道为什么要这样做,否则不是一个可以使用的技巧。
(作为附带说明,“ 匿名 ”一词在这里不太合适。它不是匿名的:其名称为tomorrowWeekday
。)
您可以在对象上访问的字段和方法取决于您使用的变量类型。 在上面的代码中,您使用的是变量Object
类型,它对nameValuePairs
属性nameValuePairs
。 您需要将引用的类型更改为更能代表实际对象的东西。 调试器说nameValuePairs
是JSONObject
因此,如果您使用JSONObject
变量进行引用,则可以使用此处指定的api访问它: http : //www.json.org/javadoc/org/json/JSONObject html的
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.