1、null寫在==的前面和後面有什麼區別?
null放在前面就是爲了避免變量爲空時 引了空指針異常
如: if(a==null) 如果a 真爲空時,現在就相當用調用了變量a的方法,a 都爲空了還調用他的方法,當然會引發空指針異常了,但寫成if(null==a)就不會了。
這種說法其實是不確切的。在java中: 當a = null的時候,if (a == null){ ... } 或者 if ( null == a){ ... }都是可以正常運行的。 出現這種寫法的原因是在C語言中出現的,在C語言中 if (a = null) { ... } 【少敲打一個符號 ‘=’的情況下】編譯不會報錯,但是寫成 if (null = a){ ... }編譯就會報錯。所以在C語言中會鼓勵程序員使用 null == a 來進行判斷。
2、" "寫在equals的前面和後面有什麼區別?
同樣的,a.quals("")和"".equals(a)相比也可以避免引起空指針異常。