Java的“键值编码”
在Apple上的Objective-C中,有一种称为“键值编码”的东西,它允许您使用类似于文件系统路径的字符串遍历对象图。 有一个非正式的协议(即接口),允许对象根据他们要求的“密钥”返回值。 例如,默认是返回键所命名的字段的值,而像NSDictionaries这样的关系集合可以实现更有趣的行为。
伪代码示例:
foo.bar = new baz(); foo.bar.mymap = new map(); foo.bar.mymap ['bom'] = 2; foo.valueForKeyPath(“bar.mymap.bom”)#2
Java有这样的东西吗? 这很容易实现,但我想我先看看。
来自apache的beanutils库的PropertyUtils.getProperty为JavaBean属性执行此操作。
嗯,好吧,如果其他人有这个问题,看起来MVEL是一个不错的选择:
Ujorm是一个开源Java库,提供基于键值架构的对象,请参阅示例 。
- Java中的非阻塞文件IO
- 使用Java和任何外部库,如何将纬度/经度点绘制到地球的图形表示中?
- 区分浏览器选项卡关闭并刷新(以检测多个应用程序实例)
- 警告org.apache.maven.plugins的’build.plugins.plugin.version’:缺少maven-deploy-plugin
- 使用Jackson注释将子数组解析为JSON?
- 在Jetty9 WebAppContexts之间实现SSO
- 为具有浮点成员的类实现“容忍”`equals`和`hashCode`
- java / spring-在org.springframework.context.support.AbstractApplicationContext中获取NoClassDefFoundError
- Java-PLSQL-来自java的记录调用表