返回零长度数组(集合)or Null?

一直习惯于返回一个NULL,主要觉得没记录就无需创造一个对象而消耗资源

昨晚看到Effective Java里有一条正好讲这个问题,说要返回一个零长度数组(集合)而不能返回NULL。作者认为,这个不是提升性能的理由,一旦返回NULL,如果使用客户端程序没有做NULL判断就会导致程序异常。

不知各位在编码时用哪种方式?

在Hibernate中,查询一个List,如果没有就会返回一个空的List而不是NULL,可以参考下这样的做法,返回一个空List我认为是正确的,因为如果是一个空List,那么使用isEmpty不会报空,并且这样的判断要比==NULL好,这样别人更容易理解你的程序代码。

返回零长度数组(集合)

一般一个数组 这样定义Object[] obj = ***getVector(); return obj;
有值就返回有值得数组,没有值自然返回的是 Null

要返回零长度的数组

返回一个零长度数组(集合)

返回NULL,
通常需要加非空判断~