A. java空字元串與null的區別和判斷字元串是否為空的方法
雖然都是沒有信息,但是null代表堆內存中根本沒有這個東西,而空字元串就完全不同了,空字元串也是字元串,他是有內存空間的
判斷字元串是否為空
/**
*判斷字元串是否為空
*@paramstr字元串
*@return是否為空
*/
(Stringstr){
returnstr==null||str.trim().length()==0;
}
B. Java空字元串與null的區別和判斷字元串是否為空的方法
空字元串:例如 String a=""; 與a=null;
還是有一定的區別的,第一個你是已經初始化了,a開了塊空間存儲了「」;而a=null,未初始化,如果你直接列印輸出,二者是有區別的,第一個是空字元串,第二個視情況可能輸出null或者直接崩潰,報空指針異常
如何判斷字元串是否為空,你可以直接用個String 類型去接收,例如String a="XXXX";
然後你判斷a的length是否大於0就好了。大於0非空
C. java 空字元串與null區別
做成員變數(欄位/屬性/類變數)時,如果只寫String str;那麼是默認賦值為null的。
做局部變數(方法里的變數)時,如果只寫String str;是不會默認賦值null的,這里僅聲明了一個str變數,在棧內存中有定義,但沒有任何值,null其實也是一種值。此時任何調用str的操作,編譯時就均會報錯,是error,不是異常。null的話,你屏幕輸出(toString方法)的結果為字元串null,但其它調用str的操作,編譯可通過,運行時會空指針異常,此時是異常。
String str = ""; // 這個跟"abc"、"中國",本質上這都一樣,只是空串,長度為0罷了
""是空字元串,但是也是字元串,沒有什麼東西。
而null是空的意思,什麼都沒有,沒有地址。
D. Java空字元串與null的區別和判斷字元串是否為空的方法
Stringstr=null;
Stringstr2="";
null表示str對象是不存在的,還沒被實例化,如果調用它的一些方法會空指針
""表示str2的值是空的字元串,沒任何東西,對象存在,調用方法不會空指針
if(str2!=null&&!str2.isEmpty())//判斷對象不為空,並且不是空字元串