如何判斷數組或集合是否為空,空和null有什么區別


判斷是否為空

數組

1、判斷數組為null arr引用

數組為null:是創建了數組的引用,棧中arr的內存空間沒有存放任何地址。

        String[] arr=null;
        if(arr==null){
            //語句;
        }

2、判斷數組為空 arr=[]

數組為空:數組是空其實就是數組的長度為0,數組是真正的對象,只是對象中沒有元素,也就是說里面沒有內容。

        String[] arr={};
        if(arr.length==0){
            //語句;
        }

3、判斷數組的每個元素都為空 arr=[null,null,null]

        String[] arr = new String[3];
        int index = 0;
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] == null) {
                index++;
            }
        }
        if (index == arr.length) {
            //語句;
        }

如何理解這三種情況呢?

數組是數據的集合,我們可以把數組看做一個蘋果箱(int類型的數組就是int箱,String類型的數組就是字符串箱),我們在聲明數組的時候就已經規定了數組(箱子)里存放的類型(蘋果)。

第一種情況是要判斷這個蘋果箱到底有沒有、存不存在;第二種情況是判斷在蘋果箱存在的情況下,箱子里面有沒有放蘋果的位置;第三種情況是判斷在蘋果箱存在並且箱子里有放蘋果的位置的情況下,這幾個位置上到底有沒有蘋果,如果沒有蘋果,就是null,用代碼表示就是:蘋果[ ] arr=[ 紅富士蘋果,青蘋果,null ]。

集合同理數組

1、判斷集合為null

        if(null == list){
       //語句;
        }

2、判斷集合為空

        if(list.size() ==0 ){
       //語句;
        }

list.isEmpty() 和 list.size()==0沒有區別。isEmpty()判斷有沒有元素,而size()返回有幾個元素

3、判斷集合的所有元素為空

        ArrayList<ArrayList> lineList=new ArrayList<ArrayList>();
        int index = 0;
        for (int i = 0; i < arr.length; i++) {
            if (lineList[i] == null) {
                index++;
            }
        }
        if (index == arr.length) {
            //語句;
        }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM