关于DAO查询模块返回值的疑惑

假设我实现一个DAO的查询接口,返回值是List,但是一次调用相关系统jar包的接口中返回的是null,在这个地方我是直接返回null呢,还是return一个new ArrayList()比较合适(当然这种情况可能会多好一点堆内存)?

PS:上层的业务可能会获取此返回值的size值,当返回的值是null时,如果不判断一下肯定会报空指针;但如果是第二种情况,应该是为0。
当然如果我用apache的commons-collections.jar中的CollectionsUtils中的size接口,无论哪种情况,都不会报空指针的

常规处理:返回null.
[url]http://shop67410310.taobao.com[/url]

看你想在哪层做判断了,这个看你实现了

[quote]kolor 写道
看你想在哪层做判断了,这个看你实现了

我就是不想每次在业务层或其他地方使用返回值的时候都做null的判断,管它是不是null,就想直接使用
PS:List或者Object,出现空指针的情况无非就是本身为null,或者List的里的元素为null,元素为null基本上可以在sql层使用默认值待遇 [/quote]
OK,你已经帮自己解答了,顺着自己的想法走就行

返回Null比较合理,dao只负责拿数据

这种情况还是返回NULl比较好,最好还是在两层都做判断,这样程序显得更加健壮

返回null太不负责任了吧,参考java.util.Collections.EMPTY_LIST,这么好的东西咋就没人用呢