我正在寻找以类型安全的方式获取属性名称的替代方法。
例如,使用 lambdaj,我可以这样做:
propertyName(on(Contract.class).getContractKey())
但这有点冗长,性能也不是很好。
我希望在构建过程中生成一些东西。
我正在寻找以类型安全的方式获取属性名称的替代方法。
例如,使用 lambdaj,我可以这样做:
propertyName(on(Contract.class).getContractKey())
但这有点冗长,性能也不是很好。
我希望在构建过程中生成一些东西。
你检查过BeanUtils吗?获取属性的名称通常不是类型不安全的部分,它是按名称访问属性,这往往是类型不安全的。
如果您正在寻找构建时解决方案,最简单的可能是通过反射生成代码,但我不知道开箱即用。
不过,我不确定您以类型安全的方式访问属性名称是什么意思;您可以在构建时创建一个静态名称/类名映射并对其进行检查。
看起来您更像是在尝试从特定类中获取属性名称,但这并没有什么特别有趣的地方——这可以通过普通反射来处理,因为您必须指定从中获取属性的类。