代碼很流行,但答案可以是Groovy或Java。 我有這個領域的一個Person類:如何「合併」同一類別的兩個對象
class Person(){
String name
String lasName
}
我有一個返回同一類的兩個對象的方法。一些領域和其他與剩下的一個對象,在我的例子這將是這樣的:
person1 = "name : Jon"
person2 = "lastName : Snow"
我需要的是加入到person1
所有空字段不在person2
空,在我們的例子中,輸出將是:
person1.merge(person2)
persona1= "name : Jon, lastName : Snow"
是否有關於Java或Groovy任何方法來做類似這樣的不寫我的所有領域的東西(用某種循環)?
如果沒有使用任何默認方法,我怎樣才能遍歷一個類中的所有字段?
您是否嘗試爲您的數據使用反射? –
SDK不提供這樣的方法。你可以使用反射API來做到這一點。但真正的問題是 - 爲什麼你需要這樣做?應該總是有一個更好的方法,不會導致這種情況。 – Prashant
我被告知要避免使用反射,因爲它會影響性能,您怎麼看待這個問題?編輯:是的,@Prashant有更好的方法,但我不能改變傳入的數據(我收到三個不同的對象,我需要在同一類中合併,我不想更改我的代碼,如果某些字段添加未來...) – Blazerg