返回的集合中,有時是[] 空數組,有時是null .的解答

在我們平常開發的過程中經常會寫這麼一個業務。一個對象中又有一個該對象的集合。 如果只有兩級的話,我們使用mybatis中的collection屬性。就可以兩表聯查並且完美給對象中的屬性值賦值。這樣的話,第二級中的list集合應該是就沒有了,直接不顯示的情況,這種情況我很少寫,具體結果差不多忘記了。
大家有知道的可以在線解答一下。

那麼我要說的是不使用collection的情況下,先查詢一級,在查詢一級下的二級。這樣遍歷一級並且給一級中的list集合賦值二級。一旦某個一級下沒有二級的list的情況下。這樣一級的list集合是[ ],因爲你已經set了,即調用set方法賦值了。意思說創建了一級的對象,所以一級的list集合是[ ]。而這時候二級的list集合就是null,因爲你並沒有調用二級中的對象的set方法,即沒有創建二級對象,所以二級對象的list就是null。

最後說明一點,爲null的情況下就是沒有創建對象,即是一個空的引用。
[ ] 這種情況是已經創建對象了,但是是一個空的數組,就是你的list集合中沒有值。

所以大家一定要區分開來,切勿走向誤區。

這輩子堅持與不堅持都不可怕,怕的是獨自走在堅持的道路上!!!
歡迎大家加入技術羣聊。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章