在java中有任何库可以获取字段名称而不使用任何魔术字符串,例如,用于下面的类
class User
{
int id;
int getId()
{
return id;
}
void setId(int id)
{
this.id = id;
}
}
现在我想要的是这样的,
String fieldName = Utility.getFieldName(User.getId());
这应该返回文本“id”
我知道这是通过常规手段无法实现的,但我在想是否可以通过使用动态代理包装User类来实现(所以这更像是
String fieldName = Utility.getFieldName(Utility.createProxy<User>().getId());
)并拦截方法调用并从堆栈中获取方法名称,并在查看Utility类时使用一些线程连接看起来像一个简单的方法调用。有谁知道是否有任何库可以进行这种类型的操作?