[英]Handling null conditions for setter action in a better way
在數據庫調用之前,我使用其用於數據庫更新調用的setter方法將一些數據從地圖設置為對象。 現在地圖可能沒有一些數據。
所以我想知道那是什么,而不是添加代碼來將數據添加到對象前檢查空每個字段,有沒有更好的方法,通過減少IF的數量調用setter方法之前檢查空值做到這一點。
我現在有類似下面的條件
if(valueMap.get(ATTRIBUTE1_VALUE) != null){
object.setAttribute1Value(valueMap.get(ATTRIBUTE1_VALUE));
}
if(valueMap.get(ATTRIBUTE2_VALUE) != null){
object.setAttribute2Value(valueMap.get(ATTRIBUTE2_VALUE));
}
if(valueMap.get(ATTRIBUTE3_VALUE) != null){
object.setAttribute3Value(valueMap.get(ATTRIBUTE3_VALUE));
}
if(valueMap.get(ATTRIBUTE4_VALUE) != null){
object.setAttribute4Value(valueMap.get(ATTRIBUTE4_VALUE));
}
if(valueMap.get(ATTRIBUTE5_VALUE) != null){
object.setAttribute5Value(valueMap.get(ATTRIBUTE5_VALUE));
}
一種方法顯然是使用Reflection,但我想知道是否還有其他方法可以做到這一點。
請注意,您為每個分支執行兩次get(ATTRIBUTE1_VALUE)
調用。
而是在if
檢查中執行containsKey(ATTRIBUTE1_VALUE)
。
如果填充valueMap
的邏輯沒有為鍵添加null,這很好。
*確定null可以在哪里發生並在那里停止它,而不是像在這里發生的那樣在堆棧中進一步處理它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.