java bean的Typesafe属性名称

时间:2011-12-26 09:05:33

标签: java reflection lambdaj

我正在寻找以类型安全的方式获取属性名称的替代方法。

例如,使用lambdaj,我可以这样做:

propertyName(on(Contract.class).getContractKey())

但这有点冗长,表现也不好。

我希望在构建期间生成一些东西。

2 个答案:

答案 0 :(得分:0)

你签出了BeanUtils吗?获取属性的名称通常不是类型不安全的部分,它通过名称访问属性往往是类型不安全。

答案 1 :(得分:0)

如果您正在寻找构建时解决方案,最简单的方法可能是通过反射生成代码,但我知道没有任何开箱即用的解决方案。

我不确定你是否以类型安全的方式访问属性名称是什么意思;你可以在构建时创建一个静态名称/类名映射,并检查它。

看起来你更像是试图从中获取属性名称​​,但是没有什么特别有趣的 - 可以通过正常反射来处理,因为你必须指定从中获取属性的类。