在c#中,您说明条件的顺序的执行速度是否有任何差异?
if (null != variable) ...
if (variable != null) ...
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) 在Java中,哪个更有效,有什么区别?
if (null == variable)
Run Code Online (Sandbox Code Playgroud)
要么
if (variable == null)
Run Code Online (Sandbox Code Playgroud) 嗨,我想知道上述比较之间的差异?
当我检查时,我得到空指针异常object.getItems() == null.但是,如果我改变它null == object.getItems(),它的工作正常.
我确实调查了这个null!= object和object之间的区别!= null 但是我没有得到满意的答案.
我刚刚发现我可以比较null有Object这样的,
if(null != Object)
而不是比较Object有null一样
Object != null
Run Code Online (Sandbox Code Playgroud)
如果使用前一种方法可能会出错?
这合法吗?如果没有那么为什么编译器会接受它?
我已经看到许多第三方代码片段在某些条件下null==instance使用而不是instance==null像if(null== connection).
只是好奇,这种方法对条件语句或人们的影响是否很酷?
我曾经写过一个Java代码的测试语句,比如" anObject!= null ",但我发现有些人反过来就像" null!= anObject ".那么,它们之间有什么区别,哪一个是Java中更好的方式?