java打印对象并检查null
public void printManagerAvailable(Manager mgr) {
System.out.println(" Is Manager object available : " + mgr!=null);
}
输出:
true
为什么这里的输出只有true
?我期待着:
Is Manager object available : true
你可以在下面搜索框中键入要查询的问题!
public void printManagerAvailable(Manager mgr) {
System.out.println(" Is Manager object available : " + mgr!=null);
}
输出:
true
为什么这里的输出只有true
?我期待着:
Is Manager object available : true
# 1 楼答案
其他答案包括正在发生的事情,这就是为什么会发生:
Java中operator precedence的顺序将加法
+
置于相等之前!=
重要的是要认识到这不是由从左到右的顺序造成的
因此,您需要按照如下顺序应用运算符:
要解决此问题,可以使用括号以另一种方式强制优先级:
# 2 楼答案
尝试使用这行代码
# 3 楼答案
因为它认为你在说
" Is Manager object available : " + mgr
都在!= null
的左边。换句话说,它先做" Is Manager object available : " + mgr
,然后比较" Is Manager object available : [Object:Manager]" != null
这样做