宣告乙個string str
如果說str是null,那麼記憶體根本沒有建立字串物件,並由str引用。
如果說str是空串,那麼確定存在乙個由str引用的字串物件,只不過這個字串的值是空
null用來表示沒有例項存在,而「」本身就是乙個例項,有自己的物件空間,和「123456」這樣的字串沒有區別。
其次要注意:
1)當oracle 字段裡面的值為空時,從oracle讀出來的是字串"null"(可能是程式讀出來的時,將空物件轉換成為了字串「null」)。
(2)還有url得引數時如:oylin.jsp?id=<%=id%>,當id為空物件是,有可能也將空物件轉換成為了字串「null」,在寫程式的時候要多加注意。
另乙個問題就是string的null或控制的判斷處理:有以下兩種方法
(name != null && !name.equals("")) 或者
if(!"".equals(name))
Java中 與 null 的區別
string name string nickname 區別一 null 代表的是空物件。解釋 它還沒有目標,不知道要指向誰?等同於 string name null。除了可以操作判斷或賦值語句 外,不可以對其進行其他任何操作。例如 name.trim 會丟擲空指標異常。代表已經宣告了乙個物件的例項...
java中 與null的區別
在專案中我們會經常遇到 與null的問題,那麼這兩者之間有什麼區別呢?1.從型別上分析 string s 這個代表的是空的字串,長度為0。string s null 這個null代表的是乙個物件,而這裡的s就相當於是對null這個物件的引用。2.從記憶體分配上看 string s 表示宣告乙個字串型...
Java中「 」和null的區別
二者區別先從 裡面來直觀感受吧!如上所示,當變數為 null 的時候會丟擲空指標異常,如果為 則不會丟擲異常,它們兩者的區別主要在以下四個點上 null 是乙個空物件,並不是乙個字串,而 是乙個例項物件,只不過這個例項物件的值是乙個長度為0的空字串 null 是乙個空物件,空物件除了 和 操作,基本...