我很担心&&运营商正在运作
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
我刚在第二部分添加了额外的括号,它被评估为真,数据与我指出的相同。
答案 0 :(得分:0)
由于评论框并不真正适用于此:
如何在一次尝试中尝试这个。
if(StringUtils.isNotEmpty(cartModification.getStatusCode())
&& cartModification.getStatusCode().equalsIgnoreCase(UNFCommerceCartModificationStatus.Sell_Out))
System.out.println("First try is true");
if(StringUtils.isNotEmpty(cartModification.getStatusCode())
&& (cartModification.getStatusCode().equalsIgnoreCase(UNFCommerceCartModificationStatus.Sell_Out)))
System.out.println("Second try is true");
无论如何,你应该得到没有或两行(因为两个陈述是相同的)。
注意可能只打印一行,这意味着getStatusCode()
上的任何调用都会调用至少其中一个条件中使用的任何值的更改。