定義 String str;?
判斷字符串是否空涉及兩個層次:
1、是首先判斷字符串變量的引用是否為空,即空對象的概念,用null來判斷,可以用if(str==null) 判斷 str是否為空;(註意不能用equals(null),在參數為null情況下,返回值永遠是false);
2、是在不為空對象的情況下,在判斷字符串對象是否為空串,即長度為0.用length()==0。 關鍵是搞清楚字符串對象為空和空字符串有區別。
拓展內容
Java空字符串與null的區別:?
1、類型
null表示的是壹個對象的值,而並不是壹個字符串。例如聲明壹個對象的引用,String a = null ;
""表示的是壹個空字符串,也就是說它的長度為0。例如聲明壹個字符串String str = "" ;?
2、內存分配
String str = null ; 表示聲明壹個字符串對象的引用,但指向為null,也就是說還沒有指向任何的內存空間;
String str = ""; 表示聲明壹個字符串類型的引用,其值為""空字符串,這個str引用指向的是空字符串的內存空間;
在java中變量和引用變量是存在棧中(stack),而對象(new產生的)都是存放在堆中(heap)。
如下:
String str = new String("abc") ;?
參考資料:
Java中字符串的常用方法