&&运算符是短路的,如果没有必要,它不会评估右手边。在这种情况下,有必要:
if(Check==null && Check.isEmpty()){
System.out.println("get Inside")
}
如果Check是null(就是这种情况),您将继续检查 之后的条件&&,然后您会得到Check.isEmpty(). 因为Checkis null,这就像是null.isEmpty()哪一个是 NEP。
为什么?
当两个表达式&&之间存在时,如果第一个为假,则答案始终为假,不检查对方,但当第一个为 时true,您必须继续检查对方才能知道是否所有表达式应该被评估为trueor false。
但是当你有:
if(Check!=null && Check.isEmpty()){
System.out.println("get Inside")
}
然后将无法到达右侧,因为检查它是多余的。你已经得到了false,如果你得到true或false在右边都没有关系,结果将是false因为这是一个AND(FALSE && WHATEVER = FALSE)。那为什么要检查呢?
此链接可能会对您有所帮助。
(我建议您遵循Java 命名约定并使变量以小写字母开头)。