请教一下判断对象是否为空是NULL写左边的原因?
习惯这样 if(null == object){.... 请问这么做的好处到底是什么?(只谈java里这么写的原因,不考虑jsp)
------解决方案--------------------
一般常量都会写在左边,这是因为==和=比较相近,如果误写成“=”,那么常量写在左边的会报错,
而,常量写在右边的不会报错。只是编程习惯问题。
------解决方案--------------------
还是有一定道理的。一般规范是要判断==的都放左边,以人类的阅读习惯来说,更直观。并且不易犯错(怕你写成=赋值)写右边就检查不出来
------解决方案--------------------
晕。。
null写左边主要是来防止你在输入==时少打了个等号变成赋值。
null写在左边 马上就会报错。
写在右边 编译不会出错的。甚至有时运行都不出运行错误,只是在程序的逻辑上出错了,结果当然错了。
这样的错误很难查找。
所以写在左边是个好习惯。
------解决方案--------------------
------解决方案--------------------
java中将==写成=就直接报错了,我就习惯写在右边
------解决方案--------------------
一般写C++的喜欢这样写
------解决方案--------------------
既然强求区别,我就分析给你看看吧!
使用 javap -c Test 反编译查询 JVM 指令,结果如下:
- Java code
public class Test { public static void main(String[] args) { String str = null; System.out.println(str != null); }} 0: aconst_null 1: astore_1 2: getstatic #2; //Field java/lang/System.out:Ljava/io/PrintStream; 5: aload_1 6: ifnull 13 9: iconst_1 10: goto 14 13: iconst_0 14: invokevirtual #3; //Method java/io/PrintStream.println:(Z)V 17: return
------解决方案--------------------