2017-08-07 81 views
-1

假設我有一個名爲Ronald且名稱= null的Person對象a。豐富對象的值

public class Person { 
    private String firstName; 
    private String name; 
} 

我需要與其他對象的值,以豐富的空值.. 某乙與姓=「馬特」和姓=「金立」

所以結果應該是有名字一個Person :羅納德但姓氏「Kingley」

這樣做的最佳方法是什麼? 這是否有任何良好的framewroks?

在此先感謝

+0

我真的不明白你的問題,你能解釋一下嗎?if(personA.firstname == null) personA.firstname = personB.firstname; if(personA.name == null) personA.name = personB.name;' –

+0

是的,但這只是一個簡單的例子。我想使它成爲通用的,例如,如果你有一個有50個字段的類,那麼你不必爲每個字段設置它。 – user1345883

+0

爲什麼不直接從受影響的所有字段的初始值開始? –

回答

0

我只是在處理此類的類中實現一個方法。 但是,這樣做的目的還不清楚,你是否試圖填寫名稱,以防它未被填充?

如果是隻寫成帶要姓氏分配到一個恆定sonly一個參數的構造函數(或別的東西嗎?)

public Person(String firstName){ 
    this.firstName = firstName; 
    this.name = "DefaultName"; 
} 

否則,你可以實現一個合併方法(還不清楚問題所以這可能不是你要找的內容):

public void mergePersonIfNull(Person person){ 
    if (this.lastName == null) 
     this.lastName = person.getLastName(); //Assuming you have getters 
    //same for firstname 
} 

更重要的是,如果你不利用空比較,刪除它並強制更換。

無論如何,也許確切的是你的用法,我會更精確,因爲我仍然不確定我理解了這個問題。