检查空值时,我使用:
String str;
if(str == null){
//...
}
Run Code Online (Sandbox Code Playgroud)
但我也见过这个:
if(null == str){
//...
}
Run Code Online (Sandbox Code Playgroud)
使用一个优于另一个是否有任何优势?或者只是为了提高可读性?
thk*_*ala 32
该null == x会议通常是在由熟悉C,其中的转让也可以是表达人写的代码中发现的.一些C程序员这样写代码,这样,如果他们错过了=在
if (NULL == ptr)...
Run Code Online (Sandbox Code Playgroud)
代码将无法编译,因为NULL = ptr它不是有效的赋值.这可以防止在代码库中引入相当狡猾的错误,尽管现代C编译器会使这些约定过时,只要一个人注意启用和读取生成的警告......
这种编码风格在Java中从未有过任何用处,其中引用赋值不能用作布尔表达式.它甚至可以被认为是反直觉的; 在他们的自然语言中,大多数人会说"如果X为空......"或"如果X等于17 ......",而不是"如果null等于X ......".
Sir*_*rko 30
第二个版本(null == str)称为yoda条件.
它们都会产生相同的行为,但第二个有一个优点:它可以防止您在忘记变量时意外更改变量=.在这种情况下,编译器会在该行返回一个错误,并且您没有留下代码的奇怪行为以及由此产生的调试.
| 归档时间: |
|
| 查看次数: |
6898 次 |
| 最近记录: |