二者區別先從**裡面來直觀感受吧!
如上所示,當變數為 null 的時候會丟擲空指標異常,如果為 「」 則不會丟擲異常,它們兩者的區別主要在以下四個點上:
null 是乙個空物件,並不是乙個字串,而 「」 是乙個例項物件,只不過這個例項物件的值是乙個長度為0的空字串;
null 是乙個空物件,空物件除了=和==操作,基本上不會對其做別的操作,而 「」是乙個字串,但是這個字串裡面沒有內容;
string m = null,定義了乙個引用,但是這個引用並沒有指向任何記憶體空間;string m = 「」,也是定義了乙個引用,但是這個引用已經指向乙個空字串的記憶體空間;
可以歸結的說,null 是乙個空物件,「」是乙個空字串。
Java中 和 的區別
第十一,short s1 1 s1 s1 1 有什麼錯?short s1 1 s1 1 有什麼錯?引出一下討論。賦值運算子,在編譯器將右邊的表示式結果計算出來後,和左邊的變數型別比較精度,如果左邊的變數精度低於右邊的結果的精度,編譯器會顯式的報錯,告訴程式設計師去強制轉型。所以s1 s1 1出錯 最...
Java中 和 的區別
和 都可以用作邏輯與的運算子,表示邏輯與 and 當運算子兩邊的表示式的結果都為true時,整個運算結果才為true,否則,只要有一方為false,則結果為false。還具有短路的功能,即如果第乙個表示式為false,則不再計算第二個表示式,例如,對於if str null str.equals 表...
Java中 和 的區別
這兩者都是表示邏輯與,只有當兩邊都是true時,返回true,只要有乙個false則結果返回false。還具有短路的功能,即如果第乙個表示式為 false,則不再計算第二個表示式,例如,對於 if str null str.equals 表示式,當 str 為 null 時,後面的表示式不會執行,所...