The*_*ray 0 java null operator-precedence
如果我希望对一个字符串执行两次检查,它不是null,并且它不是0长度,我可以这样做 -
if(string != null) {
if(string.length() > 0) {
//Do something
}
}
Run Code Online (Sandbox Code Playgroud)
或者我可以做到这一点
if(string != null && string.length() > 0) {
//Do something
}
Run Code Online (Sandbox Code Playgroud)
首先执行第一次检查,第二次比较不会发生,并且不会抛出NullPointerException.
第二种方法是否可以保证在所有情况下都有效?如果是这样,使用它会被视为不良做法吗?
不,它完全没问题,保证在所有情况下都能正常工作.
Java规范的参考:https://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.7
归档时间: |
|
查看次数: |
74 次 |
最近记录: |