簡體   English   中英

Java在兩個級別的對象中的反映

[英]Java reflection in two level of objects

假設我有兩個班。

public class User {
    private String userName;
    private String age;
    private Address address;

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }

    public Address getAddress() {
        return address;
    }

    public void setAddress(Address address) {
        this.address = address;
    }
}

public class Address {

    private String city;
    private String country;

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getCountry() {
        return country;
    }

    public void setCountry(String country) {
        this.country = country;
    }
}

我想使用Java反射設置用戶的城市和國家。 參數圖看起來像

address.city=COLOMBO 
address.country=SRI LANKA.

使用java反射訪問用戶對象內部地址屬性的最佳方法是什么。

由於我要通過CSV創建對象。 因此,當用戶使用點(。)發送屬性時,它意味着其對象位於另一個對象內。

我想編寫全局反射方法以在整個應用程序中使用。 一種使用CSV創建對象的方法

最好的方法是創建一個新的Address對象,然后調用該對象的設置器,最后為用戶調用setAddress

最佳使用模式不會改變,因為您正在使用反射。 我建議您做同樣的事情,但要使用反射。

我認為為此使用反射不是最佳方法。 無論如何,正如Peter在第一個答案中告訴您的那樣,您應該創建一個新對象並使用setter對其進行分配。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM