我有java对象
public class ClientDuplicationVerificationData {
public final String firstname;
public final String middlename;
public final String lastname;
public final String fullname;
public final String displayName;
public final String mobileNo;
public final LocalDate dateOfBirth;
public final CodeValue gender;
}
我只需要将一个变量作为泛型访问 例如
String variable = "middlename";
ClientDuplicationVerificationData clientDuplicationVerificationData = new ClientDuplicationVerificationData ();
clientDuplicationVerificationData.variable;
根据某些条件,变量可能正在发生变化。
有时可能是lastName
,gennder
,dateOfBirth
等等
有没有办法做到这一点?
答案 0 :(得分:0)
您可以使用Class.getDeclaredFields()
获取该类的所有声明字段。您可以使用Field.get(currentObject)
获取currentObject
。
在你的例子中,它就像这样
clientDuplicationVerificationData.getClass().getDeclaredField(variable).get(clientDuplicationVerificationData);