判斷一個字符串str不為空的方法有:
1、str == null;
2、”“.equals(str);
3、str.length <= 0;
4、str.isEmpty();
注意:length是屬性,一般集合類對象擁有的屬性,取得集合的大小。
例如:數組。length就是取得數組的長度。
length()是方法,一般字符串類對象有該方法,也是取得字符串長度。
例如:字符串。length();
String str = null 表示這個字符串不指向任何的東西,如果這時候調用他的方法,會出現空指針異常
String str = " " 表示它只想一個長度為0的字符串,這時候調用他的方法是安全的
null不是對象,而 " "是對象,所以null沒有被分配空間," "被分配了空間
String str1 = null; str引用是空的
String str2 = " "; str引用一個空字符串
str1不是一個實例化的對象,str2已經實例化
對象用equals比較,null用等號比較。
如果str1=null;下面的寫法錯誤:
if(str1.equals(”“)||str1==null){ }
正確的寫法是 if(str1==null||str1.equals(”“)){ //所以在判斷字符串是否為空時,先判斷是不是對象,如果是,再判斷是不是空字符串 }
所以,判斷一個字符串是否為空,首先就要確保他不是null,然后再判斷他的長度。
String str = xxx;
if(str != null && str.length() != 0) { }
第一個方法 是效率最低的,也是很多人使用的一個方法,直觀方便
第二個方法 比較字符串的長度,效率高,是最好的一個方法
第三個方法 Java SE 6.0 才開始提供的方法, 效率和方法二幾乎相等,但是考慮到兼容性,推薦使用方法二
第四個方法 一種比較直觀簡便的方法,而且想律也很高,與二、三效率差不多