8

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

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

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

但这有点冗长,性能也不是很好。

我希望在构建过程中生成一些东西。

4

2 回答 2

0

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

于 2011-12-28T14:22:26.470 回答
0

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

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

看起来您更像是在尝试特定类中获取属性名称,但这并没有什么特别有趣的地方——这可以通过普通反射来处理,因为您必须指定从中获取属性的类。

于 2011-12-28T14:32:47.930 回答