我想驗證一組值'RecordStatus'和'條件'。想出了下面的方法。一組值的Java驗證方法
定義一個RecordStatusCodition類,其中包含字符串recordStatus和condition。
定義如下
的ArrayList validList = 新的ArrayList()實現的類RecordStatusCoditionValidator {{
add(new RecordStatusCodition ("CREATED","A")); add(new RecordStatusCodition ("INSERTED","B")); add(new RecordStatusCodition ("INSERTED","A")); }};
public boolean isProcessed(RecordStatusCodition recordStatusCodition) {
return checkList.contains(recordStatusCodition);
}
}
這個類被從稱爲我的在別處檢查代碼以檢查條件
if(!RecordStatusCoditionValidator.isProcessed(new RecordStatusCodition("","")))
// do processing
}
上述類似,也有不同的名單,這可能需要經常更換各種其他條件
雖然這工作得很好,我需要知道,如果有這個,因爲一個更好的辦法這是我的代碼大部分將取決於什麼?
但是,如果我們使用地圖,如果除了validList中的其他組合還有'INSERTED和A'組合,該怎麼辦?這將是一個重複的關鍵,'A'是啊? – user1583803
@ user1583803它們是否會引用完全相同的'A'實例?這就是爲什麼我在示例中使用getId()的原因,假設每個狀態都與某個對象類型的特定實例相關。否則,爲什麼'A'有多個狀態?無論如何,如果您需要多個狀態,請改用帶有List或Set 值的'HashMap'。 –
Gamb