1.13 空字符串和null的区别
生活随笔
收集整理的這篇文章主要介紹了
1.13 空字符串和null的区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
“”
“”是一個長度為 0 且占內存的空字符串,在內存中分配一個空間,可以使用 Object 對象中的方法。例如:“”.toString() 等。
null
null 是空引用,表示一個對象的值,沒有分配內存,調用 null 的字符串的方法會拋出空指針異常。例如如下代碼:
String str = null; System.out.println(str.length());new String() 創建一個字符串對象的默認值為 “”,String 類型成員變量的初始值為 null。
空字符串 “” 是長度為 0 的字符串??梢哉{用以下代碼檢查一個字符串是否為空:
if (str.length() == 0)或
if (str.equals(""))空字符串是一個 Java 對象,有自己的串長度(0)和內容(空)。不過,String 變量還可以存放一個特殊的值,名為 null,這表示目前沒有任何對象與該變量關聯。要檢查一個字符串是否為 null,要使用以下條件:
if (str == null)有時要檢查一個字符串既不是 null 也不為空串,這種情況下就需要使用以下條件:
if (str != null && str.length() != 0)注意:首先要檢查 str 不為 null。如果在一個 null 值上調用方法,會出現錯誤。
示例如下:
public static void main(String[] args) {String str1 = new String();String str2 = null;String str3 = "";System.out.println(str3.length()); // 空字符串""的長度為0System.out.println(str2.length()); // 拋出空指針異常System.out.println(str1); // 輸出""System.out.println(str1 == str2); // 內存地址的比較,返回falseSystem.out.println(str1.equals(str2)); // 值的比較,返回falseSystem.out.println(str2 == str3); // 內存地址的比較,返回falseSystem.out.println(str3.equals(str2)); // 值的比較,返回falseSystem.out.println(str1 == str3); // 內存地址的比較,返回falseSystem.out.println(str1.equals(str3)); // 值的比較,返回true }總結
以上是生活随笔為你收集整理的1.13 空字符串和null的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1.11 实例:字符串替换
- 下一篇: 1.14 字符串查找(3种方法)inde