如何通过反射API调用POJO中的getter

时间:2018-12-06 11:13:56

标签: java reflection

我想在一个按以下方式设计的pojo上调用一种getAddressText1()的getter方法:

public class AccountDetails{

public String name;
public Address address;
.
.
//getters and setters
}

现在addressText1内的Address

类似

public class Address{

public String addressText1;
.
.
//getters and setters
}

现在我是否要在AccountDetails上调用getAddressText1,这将引发methodnotfound异常。

由于这是反射,因此我没有控件可以直接应用于“地址”。

如果您知道解决方法,请回复。

谢谢!

2 个答案:

答案 0 :(得分:0)

如果您想从addressText1中获得address,请在AccountDetails内创建一个方法,例如getAddress(如果您还没有):

public class AccountDetails {

    private Address address;

    public Address getAddress() {
        return this.address;
    }

    // Other code
}

然后您可以致电:

String addressText1 = myAccountVariable.getAddress().getAddressText1();

myAccountVariableAccountDetails对象。

答案 1 :(得分:0)

如果要访问getAddressText1()内部的AccountDetails,只需创建在AccountDetails类中定义的Address对象的getter方法。

使用getAddress()方法后,可以将在地址类中定义的方法调用为;

String address = accountDetailsObj.getAddress().getAddressText1();

accountDetailsObj是AccountDetails类的对象。