欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java-collection中的null,isEmpty用法

 更新時間:2022年02月28日 09:38:41   作者:黃國攀  
這篇文章主要介紹了java-collection中的null,isEmpty用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

collection中的null,isEmpty用法

只使用java utils包的isEmpty.

第一種情況

實例化list,但是size為空。

?? ?List<String> list =new ArrayList<>();
?? ??? ?if (list.isEmpty()) {
?? ??? ??? ?System.out.println("1");
?? ??? ?}
?? ??? ?if (!list.isEmpty()) {
?? ??? ??? ?System.out.println("2");
?? ??? ?}
?? ??? ?if (list != null) {
?? ??? ??? ?System.out.println("3");
?? ??? ?}
? ? ? ? ? ? ? ? if (list != null && list.size() > 0) {
? ? ? ? ? ? ? ? ? ? ? ? System.out.println("4");
? ? ? ? ? ? ? ? }

輸出:

1

3

第二種情況

add值到list中

?? ??? ?List<String> list =new ArrayList<>();
?? ??? ?list.add("da");
?? ??? ?if (list.isEmpty()) {
?? ??? ??? ?System.out.println("1");
?? ??? ?}
?? ??? ?if (!list.isEmpty()) {
?? ??? ??? ?System.out.println("2");
?? ??? ?}
?? ??? ?if (list == null) {
?? ??? ??? ?System.out.println("3");
?? ??? ?}
? ? ? ? ? ? ? ? if (list != null && list.size() > 0) {
? ? ? ? ? ? ? ? ? ? ? ? System.out.println("4");
? ? ? ? ? ? ? ? }

輸出:

2

4

第三種情況

只創(chuàng)建list的引用,不實例化。

List<String> list = null;
?? ??? ?if (list.isEmpty()) {
?? ??? ??? ?System.out.println("1");
?? ??? ?}
?? ??? ?if (!list.isEmpty()) {
?? ??? ??? ?System.out.println("2");
?? ??? ?}
?? ??? ?if (list != null) {
?? ??? ??? ?System.out.println("3");
?? ??? ?}
?? ??? ?if (list != null && list.size() > 0) {
?? ??? ??? ?System.out.println("4");
?? ??? ?}

輸出:

Exception in thread "main" java.lang.NullPointerException 

改進辦法:

使用org.apache.commons.collections.CollectionUtils;

CollectionUtils.isEmpty(Collecions<extend>);

可以避免

java.lang.NullPointerException異常

CollectionUtils.isEmpty和 == null的區(qū)別

本文所指的 CollectionUtils 所屬包

org.apache.commons.collections

CollectionUtils.isEmpty() 包含null,size=0等多種情況

而== null 只能用來判斷是否為null

舉個例子

? ? ? ? if (CollectionUtils.isEmpty(orderDTO.getOrderDetailList())) {
? ? ? ? ? ? log.error("[創(chuàng)建訂單]購物車不能為空,customerOrderForm = {}", customerOrderForm);
? ? ? ? ? ? throw new CustomerOrderControllerException(CustomerOrderControllerStateEnum.SHOPPING_CART_EMPTY);
? ? ? ? }
? ? ? ? OrderDTO orderDTOResult = orderService.createOrder(orderDTO);

此處if判斷條件中,不僅可以判斷獲取的List是否為null,還能判斷獲取的List的size是否為0

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • java數(shù)據(jù)庫連接池新手入門一篇就夠了,太簡單了!

    java數(shù)據(jù)庫連接池新手入門一篇就夠了,太簡單了!

    數(shù)據(jù)庫連接池負責分配、管理和釋放數(shù)據(jù)庫連接,釋放空閑時間超過最大空閑時間的數(shù)據(jù)庫連接來避免因為沒有釋放數(shù)據(jù)庫連接而引起的數(shù)據(jù)庫連接遺漏,這項技術能明顯提高對數(shù)據(jù)庫操作的性能
    2021-06-06
  • SpringBoot項目依賴和配置最新示例講解

    SpringBoot項目依賴和配置最新示例講解

    這篇文章主要介紹了SpringBoot項目依賴和配置,這里主要是搭建項目常用到的maven依賴以及搭建項目會需要用到的一些配置文件,本文通過示例代碼給大家詳細講解,需要的朋友可以參考下
    2022-11-11
  • Java中ArrayList去除重復元素(包括字符串和自定義對象)

    Java中ArrayList去除重復元素(包括字符串和自定義對象)

    本文主要介紹了Java中ArrayList去除重復元素(包括字符串和自定義對象)的方法。具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03
  • Java IO 之文件讀寫簡單實例

    Java IO 之文件讀寫簡單實例

    這篇文章主要介紹了Java IO 之文件讀寫簡單實例的相關資料,需要的朋友可以參考下
    2017-06-06
  • WebService教程詳解(二)

    WebService教程詳解(二)

    這篇文章主要介紹了WebService教程詳解(二) 的相關資料,需要的朋友可以參考下
    2016-03-03
  • MyBatis動態(tài)SQL標簽的用法詳解

    MyBatis動態(tài)SQL標簽的用法詳解

    這篇文章主要介紹了MyBatis動態(tài)SQL標簽的用法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • AsyncHttpClient ListenableFuture源碼流程解讀

    AsyncHttpClient ListenableFuture源碼流程解讀

    這篇文章主要為大家介紹了AsyncHttpClient ListenableFuture源碼流程解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • 淺析 ArrayList 和 LinkedList 有什么區(qū)別

    淺析 ArrayList 和 LinkedList 有什么區(qū)別

    ArrayList 和 LinkedList 有什么區(qū)別,是面試官非常喜歡問的一個問題。今天通過本文給大家詳細介紹下,感興趣的朋友跟隨小編一起看看吧
    2020-10-10
  • Java并發(fā)系列之Semaphore源碼分析

    Java并發(fā)系列之Semaphore源碼分析

    這篇文章主要為大家詳細介紹了Java并發(fā)系列之Semaphore源碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • mybatis where 標簽使用

    mybatis where 標簽使用

    where標記的作用類似于動態(tài)sql中的set標記,本文主要介紹了mybatis where 標簽使用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03

最新評論