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中它不会编译