Java中的null是一個特殊值,表示一個對象的引用不指向任何有效的內存地址。當與其他值進行比較時,null具有一些特殊的語法。
Object obj = null; if (obj == null) { System.out.println("obj is null"); }
這段代碼演示了如何使用“==”運算符檢查一個對象引用是否為null。如果對象引用為null,則條件為真,并打印出信息。
Object obj = null; if (null == obj) { System.out.println("obj is null"); }
這段代碼與前面的代碼等效,使用了相同的檢查邏輯,只是通過將null移至等式的左側,取代了我們之前的實現方式。實際上,這種風格被稱為“Yoda表達式”,因為它看起來像Yoda說話的語法。
除了可讀性外,“==”和“= =”運算符的行為也具有細微的差異。如果你把它們用錯了,你可能會得到一個編譯錯誤或者檢查出來的運行時錯誤。
Object obj = null; if (obj = null) { // 編譯錯誤:期望布爾表達式,但獲得了null System.out.println("obj is null"); }
這段代碼會導致編譯錯誤,因為我們在條件中使用了賦值表達式“=”,但是條件期望布爾表達式。應該使用“==”運算符,但是如果你像這樣寫:
Object obj = null; if (obj == null) { System.out.println("obj is null"); }
則代碼將正常運行,輸出“obj is null”。
上一篇vue旋轉剪裁沒用