6

在 Apple 的 Objective-C 中有一种叫做“键值编码”的东西,它允许你使用类似于文件系统路径的字符串来遍历对象图。有一个非正式协议(即接口)允许对象根据他们被要求的“键”返回值。例如,默认是返回由键命名的字段的值,而像 NSDictionaries 这样的关系集合可以实现更有趣的行为。

伪代码示例:

foo.bar = 新 baz();
foo.bar.mymap = 新地图();
foo.bar.mymap['bom'] = 2;

foo.valueForKeyPath("bar.mymap.bom") # 2

Java有这样的东西吗?这很容易实现,但我想我会先看看。

4

3 回答 3

5

来自 apache 的 beanutils 库的 PropertyUtils.getProperty 为 JavaBean 属性执行此操作

于 2009-10-21T23:14:48.883 回答
2

嗯,好吧,如果其他人有这个问题,看起来 MVEL 是一个不错的选择:

http://mvel.codehaus.org/Property+Navigation

于 2009-10-21T23:15:01.830 回答
1

Ujorm是一个开源 Java 库,提供基于键值架构的对象,请参阅示例

于 2009-10-22T06:31:11.340 回答