在我的代碼我要檢查,如果狗object
的狀態不是是3 Enums
:在If語句中使用多個條件的正確方法?
if((dogList.get(i).getStatus()!= dogStatus.SLEEPING
|| dogList.get(i).getStatus()!= dogStatus.WALKING
||dogList.get(i).getStatus()!= dogStatus.EATING )){
//do something
}
這是對3個||
條件相結合的正確方法?我問,因爲我的計劃沒有像我期望的那樣行事。
它是「正確的」,但它不正確。你正在測試不平等。由於getStatus()只能有一個值,因此總是將其評估爲TRUE,因爲其他兩個語句不能相等。你需要'&&'而不是。考慮這個等價物:如果這隻貓不是一隻狗,這隻貓不是一隻大猩猩,而這隻貓不是一隻貓。 V.S.與'或'而不是'和'等價。 –
你會想用'&&'(AND)代替'||'(OR)。例如,如果狀態爲WALKING,那麼if會讀取「TRUE ||」 FALSE ||當TRUE && FALSE && TRUE = FALSE時,TRUE = TRUE' –