String groupType="local";
if(groupType==null ||groupType.equals("")||!groupType.equalsIgnoreCase("local")||!groupType.equalsIgnoreCase("global")||!groupType.equalsIgnoreCase("universal")){
System.out.print("evlauate to true ");
}
为什么此代码的评估结果为true,!groupType.equalsIgnoreCase(“ local”)应将其设置为false,
最佳答案
即使您将条件减少到
if (!groupType.equalsIgnoreCase("local")||!groupType.equalsIgnoreCase("global"))
总是如此,因为
groupType
不能同时等于“ local”和“ global”。您可能要使用
&&
(AND)代替||
(OR)。if (groupType == null || groupType.equals("") ||
(!groupType.equalsIgnoreCase("local") && !groupType.equalsIgnoreCase("global") && !groupType.equalsIgnoreCase("universal"))) {
System.out.print("evaluate to true ");
}
现在,如果
true
为null或为空或不等于值“ local” /“ global” /“ universal”之一,它将计算为groupType
。我假设这就是您想要的。关于java - Java评估IF语句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40101332/