不管是&&或者|| 一般都是将null或非null放在第一个判断
在Java中,逻辑运算符&&
和||
具有短路特性。这意味着如果使用&&
运算符,如果第一个条件为false,将不会执行第二个条件,因为整个表达式已经确定为false。类似地,如果使用||
运算符,如果第一个条件为true,将不会执行第二个条件,因为整个表达式已经确定为true。
在下面示例中,&&
运算符的短路特性可以确保在str
为null
时不会执行str.length()
,避免了空指针异常。
String str = null;
if (str != null && str.length() > 0) {// Do something
}
如果将条件反过来写:
if (str.length() > 0 && str != null) {// Do something
}
在上述示例中,如果str
为null
,那么str.length()
会导致空指针异常。
类似地,在使用||
运算符时,你也需要根据具体情况考虑条件的顺序,以确保逻辑正确并避免潜在的异常。
总之,在使用逻辑运算符时,确保将可能导致空指针异常的null
检查放在前面,以利用短路特性来提高代码的健壮性和可读性。