我对 && 运算符的工作方式感到困惑
if (StringUtils.isNotEmpty(cartModification.getStatusCode())
&& (cartModification.getStatusCode().equalsIgnoreCase(UNFCommerceCartModificationStatus.Sell_Out)))
上面的陈述是真实的
尽管
if (StringUtils.isNotEmpty(cartModification.getStatusCode())
&& cartModification.getStatusCode().equalsIgnoreCase(UNFCommerceCartModificationStatus.Sell_Out))
被评估为假。这两个语句之间的唯一区别是大括号。
作为一个额外的输入,我已经用调试器和
StringUtils.isNotEmpty(cartModification.getStatusCode() =true
cartModification.getStatusCode().equalsIgnoreCase(UNFCommerceCartModificationStatus.Sell_Out)=true
我刚刚在第二部分添加了额外的括号,它被评估为真实,数据与我在问题中指出的相同。