java list 去空字符串_【JAVA基础】list和字符串判空
前言:
我們在項目中經(jīng)常需要對獲取的list集合或String類型變量判空,看前輩的代碼,不同的人判空的方法不一樣,那么,Java代碼中,對list集合和String類型變量到底該如何判空呢?
一、Java list集合判空
一般的做法是
if(list!= null && list.size() != 0){}
if(list != null&& !list.isEmpty()){}
1、list!=null:判斷是否存在list,null表示這個list不指向任何的東西,如果這時候你調(diào)用它的方法,那么就會出現(xiàn)空指針異常。
2、list.isEmpty():判斷l(xiāng)ist里是否有元素存在。
3、list.size():判斷l(xiāng)ist里有幾個元素。
一個形象的比喻:
list!=null,判斷是不是連水杯都沒有,
list.isEmpty()和list.size(),判斷水杯里面有沒有水。
判斷l(xiāng)ist里是否有元素的最佳的方法是:
if(list != null&& !list.isEmpty()){
//list存在且里面有元素
}
二、判斷java string類型數(shù)據(jù)不為空
string 類型為空的四種情況:
1、str== null:null表示這個字符串不指向任何的東西,如果這時候你調(diào)用它的方法,那么就會出現(xiàn)空指針異常。
2、"".equals(str):""表示它指向一個長度為0的字符串,這時候調(diào)用它的方法是安全的。
3、str.length<= 0:字符串長度判斷
4、str.isEmpty():字符串是否為空
注意:
1、length是屬性,一般集合類對象擁有的屬性,取得集合的大小。
例如:數(shù)組.length就是取得數(shù)組的長度。
2、length()是方法,一般字符串類對象有該方法,也是取得字符串長度。
例如:字符串.length();
3、null不是對象,""是對象,所以null沒有分配空間,""分配了空間。
Java 判斷字符串是否為空的四種方法:
方法A:最多人使用的一個方法, 直觀, 方便,但效率很低;
if(s ==null &&s.equals("")){
//s為空執(zhí)行
}
方法B:Java SE 6.0 才開始提供的方法,效率和方法C幾乎相等, 但出于兼容性考慮, 推薦使用方法C;
if (str == null ||str.isEmpty()){
//s為空執(zhí)行
}
方法C:比較字符串長度, 效率高, 是最好的一個方法;
if (str == null ||str.length() <= 0){
//s為空執(zhí)行
}
方法D:這是一種比較直觀,簡便的方法,而且效率也非常的高,與方法二、三的效率差不多;
if (str == null || str ==""){
//s為空執(zhí)行
}
所以,判斷一個字符串是否為空,首先就要確保他不是null,然后再判斷他的長度。
String str = xxx;
if(str != null && str.length() !=0) { }
三、關(guān)于a!=null和null!=a的糾結(jié)
a!=null,相信大家都能理解,那么,null!=a,是個怎樣的存在呢?做比較時,我們會將常量寫在左邊,為什么會有null!=a這種寫法呢?
解:防止程序員做比較時,少寫“=”
java中if內(nèi)的判斷語句不同與其他語言,其if內(nèi)的表達(dá)式的值只能是boolean或其裝箱類型。所以 null == a 比 xxx == a唯一的好處在java就是當(dāng)a為 Boolean類型時候,書寫null == a 時悲劇的少寫一個 “=” 后 ,null = a會報錯,而 a = null 不會,此時,就可能產(chǎn)生空指針異常。
總結(jié):
判空的原則:先判斷變量是否為null,再判斷是否內(nèi)容
參考:
總結(jié)
以上是生活随笔為你收集整理的java list 去空字符串_【JAVA基础】list和字符串判空的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: centos 开机启动java_java
- 下一篇: java 动态规划视频_157-动态规划