在 Apple 的 Objective-C 中有一种叫做“键值编码”的东西,它允许你使用类似于文件系统路径的字符串来遍历对象图。有一个非正式协议(即接口)允许对象根据他们被要求的“键”返回值。例如,默认是返回由键命名的字段的值,而像 NSDictionaries 这样的关系集合可以实现更有趣的行为。
伪代码示例:
foo.bar = 新 baz(); foo.bar.mymap = 新地图(); foo.bar.mymap['bom'] = 2; foo.valueForKeyPath("bar.mymap.bom") # 2
Java有这样的东西吗?这很容易实现,但我想我会先看看。