我开始使用java反射工作我开始创建我自己的个人工作方法,其中包括一个方法,它接受一个类的所有setter方法。 现在我发现自己在想采取的设置方法的字段名的奇特现象,我努力让自己更清楚了例子:Java Reflection - 从设置的方法中获取字段的名称
private String urla;
public setUrl(String urlb){
this.urla = urlb;
}
我现在有获得方法“的方法setUrl”,我想创建一个方法,采取从它初始化设置方法的领域,像这样:
Mehtod method = getSetter(); //return method setUrl
String nameField = getFieldFromSetter(method) //return "urla"
你认为这是可能的吗? ty提前。
我不认为这是可能的。 –
只有在您将其称为'setUrla'而不是'setUrl'时,才有可能。 – EpicPandaForce
如果你正确地给setter命名了'setUrla',你可以用null替换'set',并找到一个等于结果名称'Urla'的字段(但不区分大小写)。但是你可以保存每个变量的当前值(在一个HashMap中),调用函数,为所有变量创建一个新映射,计算映射之间的变化并重置变量。 (这不能工作,因为其他线程可以修改变量或同时访问它们,否则它应该没问题。另外,它更像是一种攻击而不是一个好方法:)) – Cyphrags