Object的Java变量作为泛型

时间:2016-09-28 07:35:30

标签: java

我有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;

根据某些条件,变量可能正在发生变化。

有时可能是lastNamegennderdateOfBirth等等

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以使用Class.getDeclaredFields()获取该类的所有声明字段。您可以使用Field.get(currentObject)获取currentObject

的值

在你的例子中,它就像这样

clientDuplicationVerificationData.getClass().getDeclaredField(variable).get(clientDuplicationVerificationData);