1. 程式人生 > >java中判斷物件為null時,null在前面還是後面

java中判斷物件為null時,null在前面還是後面

因為目前只學習並使用java語言,所以這裡主要是根據java來說的

Java中對null進行判斷放在前後沒有什麼區別,只是為了程式碼規範,為了避免寫程式碼時書寫錯誤。

下面面兩個測試Demo都沒有報錯。null放在前面是為了避免少寫一個"=","null="書寫會報錯,防止筆誤寫成"=null"時檢查不出來。

    @Test
    public void testDemo1() {
        String str = null;
        if (str == null) {
            System.out.println("null在後");
            return;
        }
    }

    @Test
    public void testDemo2() {
        String str = null;
        if (null == str) {
            System.out.println("null在前");
            return;
        }
    }

下面面兩個測試Demo都沒有報錯。null放在前面是為了避免少寫一個"=","null="書寫會報錯,防止筆誤寫成"=null"時檢查不出來。

那麼說這句原因呢,我自己當然是不知道,所以就在網上查了一下別人的講解

null==a是以前C語言的寫法,因為C允許if(a=null)這種判斷,但這個其實是少寫了個=
所以c開發的人員為了避免這問題,就出現了null==a的寫法,因為這樣一旦漏寫了個=號,編譯器就會編譯不通過
但這在Java和c#這種面向物件的語言裡面是不需要的,因為少個=號,不管java還是C#都是編譯錯誤

總結

Java中對null進行判斷放在前後沒有什麼區別,只是為了程式碼規範,為了避免寫程式碼時書寫錯誤(建議將null放在前面,並不強制)。

參考部落格:https://blog.csdn.net/banjw_129/article/details/80845652

參考問答:https://bbs.csdn.net