在If语句中使用多个条件的正确方法?

时间:2016-03-23 16:57:17

标签: java if-statement enums

在我的代码中,我想检查一只狗object 的状态是否 <3 Enums的状态:

if((dogList.get(i).getStatus()!= dogStatus.SLEEPING 
   || dogList.get(i).getStatus()!= dogStatus.WALKING
   ||dogList.get(i).getStatus()!= dogStatus.EATING  )){

//do something 

}

这是结合3 ||条件的正确方法吗?我问,因为我的程序没有按照我的预期行事。

2 个答案:

答案 0 :(得分:5)

你想要

if (status != SLEEPING && status != WALKING...)

请注意&#39;&amp;&amp;&#39;,因为您要检查它不是WALKING 它不是{{ 1}} 等等

答案 1 :(得分:2)

直接回答您的问题是,您应使用HttpSession而不是&&,正如this answer中所述。但是,由于您使用的是||,因此可以使用enum整理一下。

switch

(从技术上讲,这与您的(更正的)版本不完全相同,如果结果是switch (dogList.get(i).getStatus()) { case SLEEPING:case EATING:case WALKING: break; default: // write your code here. } 则执行代码,而null会抛出switch