我听到某人null == object比object == null 检查更好
例如:
void m1(Object obj ) {
if(null == obj) // Is this better than object == null ? Why ?
return ;
// Else blah blah
}
Run Code Online (Sandbox Code Playgroud)
有什么理由还是这是另一个神话?感谢帮助.
我写了两种方法来检查性能
public class Test1 {
private String value;
public void notNull(){
if( value != null) {
//do something
}
}
public void nullNot(){
if( null != value) {
//do something
}
}
}
Run Code Online (Sandbox Code Playgroud)
并在编译后检查它的字节码
public void notNull();
Code:
Stack=1, Locals=1, Args_size=1
0: aload_0
1: getfield #2; //Field value:Ljava/lang/String;
4: ifnull 7
7: return
LineNumberTable:
line 6: 0
line 9: 7
StackMapTable: number_of_entries = 1
frame_type = 7 /* same */
public void nullNot();
Code:
Stack=2, Locals=1, Args_size=1
0: aconst_null
1: …Run Code Online (Sandbox Code Playgroud) 大多数开发人员都习惯在左侧写入null检查null.like,
if(null == someVariable)
Run Code Online (Sandbox Code Playgroud)
这有帮助吗?据我说,这影响了代码的可读性.