所以我有一个使用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语句的后半部分呢?
答案 0 :(得分:4)
这实际上不会导致if语句的后半部分出错。你正在使用||这是一个短路OR。这意味着如果第一部分为真(数组列表为空),则不会评估第二部分。