在使用枚舉類型時是否存在某種避免很多if語句的方法?也許我應該使用一些設計模式,而不是使用if語句。如何在使用枚舉類型時避免if語句等於?
我在我的代碼,很多情況下,它看起來像這樣://僞代碼
public void methodOne() {
if(User.Type.SomeType == user.Type && User.Type.SecondType == user.Type)
doSomething();
}
public void methodTwo() {
if(!User.Type.OtherType == user.Type && !User.Type.SecondType == user.Type)
throw new BadTypeException();
doSomething();
}
'if(User.Type.SomeType == user.Type && User.Type.SecondType == user.Type)'永遠不會匹配正確嗎?你是不是指'||'? – john16384
你可以發佈你的實際用例嗎?如果語句通常可以用枚舉中定義的方法,多態方法以及諸如「訪問者」之類的設計模式來替換 - 但是您必須考慮具體情況以瞭解採用哪種方法 – Joni