2017-08-07 78 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 
} 

更重要的是,如果你不利用空比较,删除它并强制更换。

无论如何,也许确切的是你的用法,我会更精确,因为我仍然不确定我理解了这个问题。