1. 程式人生 > >(轉)Java 中關於String的空對象(null) ,空值(empty),空格

(轉)Java 中關於String的空對象(null) ,空值(empty),空格

空值 ise als 內存 ati 調用 ext cor under

原文出處:Java 中關於String的空對象(null) ,空值(empty),空格

定義

空對象:
String s = null;

空對象是指定義一個對象s,但是沒有給該對象分配空間,即沒有實例化該對象,因此,空對象在調用所有對象方法時候都會拋出異常,如s.length(), s.isEmpty()等方法。

空值:
String k = "";

空值是指一個字符床對象已經實例化,即系統已經給該變量分配了空間,只是對象的內容為空

空格:
String n = " ";

是指一個字符對象已經實例化,對象的內容為空格



判斷
對於上述三種情況,如何判斷一個字符變量屬於上述類型,下面主要介紹下方法:

空對象判斷:
判斷一個字符變量是否是null ,使用 邏輯判斷 等於(==)與null對象

比較,代碼表達式如下:

s == null; (真的是null)

註意: 空對象不能使用諸如equals(), isEmpty()等對象方法,因為它未被實例化。

空值判斷:

判斷空值可有三種方式:
(1)equals方法比較的是兩個對象的內容是否相同,可用表達語句:k.equals("") ;
(2) length()方法是查看某個字符串對象的字符個數,可用表達式判斷:k.length() == 0 ;

(3) isEmpty()方法是判斷某個字符串對象字符個數時候為0,可用表達式判斷:k.isEmpty() ;

例如:判斷隊列已經創建出對象,則不用null。再判斷對象是否為零

,因此用isempty()



空格判斷:
空格內容為一個空格,雖然在輸出顯示時候和空值一樣,都是空的,但是在系統裏面的內存機制不一樣的,空格字符串表示該對象的內存空間裏面有內容,是空格,字符個數是1,因此,在使用如下方法時候結果如下:

n.length() 的輸出值為1, n.isEmpty()輸出為false。

判斷語句: n.equals(" ") ;


(轉)Java 中關於String的空對象(null) ,空值(empty),空格