setmealIds 是集合
if(setmealIds != null && setmealIds.size() > 0){
xxxx;
}
作这样的判断首先List集合它如果初始化后它就不是非空集合,但是它的元素个数为0,即没有数据,
所以要额外添加判断size > 0,不能单独判断是否为空。而又不能单独设置size > 0,
因为当List是空指针时只设置size > 0会报错。
而为什么setmealIds != null要在 setmealIds.size() > 0前面呢,这是因为如果集合为空会报错,所以必须先判断集合不为空。
根据&&的特性,如果前者不符合后,就会短路求值直接输出false,而不会进行后面的判断。这不是说只是考虑性能,而是如果运行到setmealIds.size() > 0这段会报错,这也是为什么要用&&(虽然一般也不可能用&)
参考:https://www.cnblogs.com/feifeicui/p/11836575.html