Java检查是否为空

Java检查是否为空,java,Java,到目前为止,我看到的通常做法是这样检查: if (object != null) {...} 但今天我遇到了以下情况: if (object) {...} 这两条线完全相等吗?后者对我来说似乎有点奇怪,因为对象不一定是布尔值。用后一种方式写更好(更短)吗?代码 if (object) {...} 不是java语法,而是javascript 在java中,只有当对象的类型为布尔且不是null时,该代码才有效 if (object) {...} 不是java语法,而是javascript 在

到目前为止,我看到的通常做法是这样检查:

if (object != null) {...}
但今天我遇到了以下情况:

if (object) {...}
这两条线完全相等吗?后者对我来说似乎有点奇怪,因为对象不一定是布尔值。用后一种方式写更好(更短)吗?

代码

if (object) {...}
不是java语法,而是javascript

在java中,只有当
对象
的类型为
布尔
且不是
null
时,该代码才有效

if (object) {...}
不是java语法,而是javascript

在java中,只有当
对象
的类型为
布尔
且不为
null
时,该代码才有效

if(object)
语法只有在
object
是基元
boolean
的实例,并且通过代理,包装类
boolean
(自动取消装箱)时才起作用

还要注意,
if(object)
语法将适用于较弱类型的语言,如Groovy或JavaScript,并隐含所有警告

最后请注意,
Boolean
包装器在Java中也是可以为空的,因此
if(object!=null)
语法对于
Boolean
s实际上也是有意义的(但不会为基元
Boolean
s编译)。

绝对没有意义

if(object)
语法只有在
object
是基元
boolean
的实例,并且通过代理,包装类
boolean
(自动取消装箱)时才起作用

还要注意,
if(object)
语法将适用于较弱类型的语言,如Groovy或JavaScript,并隐含所有警告

最后请注意,
Boolean
包装在Java中也是可以为空的,因此
if(object!=null)
语法实际上对
Boolean
s也有意义(但不会对基元
Boolean
s进行编译)。

if(object)。。。这看起来更像是JavaScript而不是Java。除非“object”转换为条件语句,否则在Java中它不会编译EIF(object)。。。这看起来更像是JavaScript而不是Java。除非“object”转换为条件语句,否则在Java中它不会编译