返回的集合中,有时是[] 空数组,有时是null .的解答

在我们平常开发的过程中经常会写这么一个业务。一个对象中又有一个该对象的集合。 如果只有两级的话,我们使用mybatis中的collection属性。就可以两表联查并且完美给对象中的属性值赋值。这样的话,第二级中的list集合应该是就没有了,直接不显示的情况,这种情况我很少写,具体结果差不多忘记了。
大家有知道的可以在线解答一下。

那么我要说的是不使用collection的情况下,先查询一级,在查询一级下的二级。这样遍历一级并且给一级中的list集合赋值二级。一旦某个一级下没有二级的list的情况下。这样一级的list集合是[ ],因为你已经set了,即调用set方法赋值了。意思说创建了一级的对象,所以一级的list集合是[ ]。而这时候二级的list集合就是null,因为你并没有调用二级中的对象的set方法,即没有创建二级对象,所以二级对象的list就是null。

最后说明一点,为null的情况下就是没有创建对象,即是一个空的引用。
[ ] 这种情况是已经创建对象了,但是是一个空的数组,就是你的list集合中没有值。

所以大家一定要区分开来,切勿走向误区。

这辈子坚持与不坚持都不可怕,怕的是独自走在坚持的道路上!!!
欢迎大家加入技术群聊。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/taiguolaotu/article/details/106590464