如果另一个条件为假,则仅测试条件的最佳方法

时间:2014-11-06 02:17:41

标签: java if-statement arraylist

所以我有一个使用arraylist的函数,我希望它能做到这样的事情:

if(/*1*/ theArrayList.size() == 0 || /*2*/ theArrayList.get(someNumber).someBoolean){....

问题是这个函数可以在ArrayList为空时触发,这会导致if语句的后半部分出错。所以我改成了这个:

if(theArrayList.size() == 0){
    //do some code
} else if(theArrayList.get(someNumber).someBoolean){
    //do the same code as above
} else...

但我觉得这是迟钝的,必须有一个更简单的方法。那么,如果上半部分已被证明是假的,我怎么能只测试if语句的后半部分呢?

1 个答案:

答案 0 :(得分:4)

这实际上不会导致if语句的后半部分出错。你正在使用||这是一个短路OR。这意味着如果第一部分为真(数组列表为空),则不会评估第二部分。