& 和 && 的区别:
1、共同点:两者都可以作为逻辑与的运算符,并且的那个两边的表达式都为true时,才返回true.否则,只要有一个为false,那么结果就为false.
2、不同点:if(null != str && !str.equals('')){}的这样的判断时,&&具有短路功能,当第一个表达式为false时,就不在计算第二个表达式,直接返回结果false(当然这里会抛异常)。&当它两边不是boolean类型时,&表示按位与操作.进行二进制计算。
1、共同点:两者都可以作为逻辑与的运算符,并且的那个两边的表达式都为true时,才返回true.否则,只要有一个为false,那么结果就为false.
2、不同点:if(null != str && !str.equals('')){}的这样的判断时,&&具有短路功能,当第一个表达式为false时,就不在计算第二个表达式,直接返回结果false(当然这里会抛异常)。&当它两边不是boolean类型时,&表示按位与操作.进行二进制计算。