繁体   English   中英

访问Java匿名对象属性

[英]Access Java anonymous object properties

我是Java编程的新手,我试图访问匿名对象的属性,这是我的对象:

Object tomorowWeekday = convertedTimeForAndroid(openHours, tomorrow);

通过调试器进行检查,结果如下所示: 在此处输入图片说明

我需要访问键值对“ to”和“ from”,没有诸如tomorrowWeekday.get("from")

如何在匿名对象中访问这些值?

改成

JSONObject tomorowWeekday = convertedTimeForAndroid(openHours, tomorrow);

您当前正在将声明的类型设置为Object 这意味着除了Object公开的方法外,您看不到任何其他方法,即使实际类型为JSONObject 使声明的类型与实际类型相同,您将能够看到所需的所有方法。

因为JSONObjectObject的子类(实际上每个类都是),所以您当前的代码是合法的,但这意味着您要抽象掉Object不存在的任何功能。 有时这是一种有用的技巧,但除非您知道为什么要这样做,否则不是一个可以使用的技巧。

(作为附带说明,“ 匿名 ”一词在这里不太合适。它不是匿名的:其名称为tomorrowWeekday 。)

您可以在对象上访问的字段和方法取决于您使用的变量类型。 在上面的代码中,您使用的是变量Object类型,它对nameValuePairs属性nameValuePairs 您需要将引用的类型更改为更能代表实际对象的东西。 调试器说nameValuePairsJSONObject因此,如果您使用JSONObject变量进行引用,则可以使用此处指定的api访问它: http : //www.json.org/javadoc/org/json/JSONObject html的

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM