首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

当步骤的返回类型是数组或集合时,不要返回null,尽量返回容量为0的数据或集合

2013-03-16 
当方法的返回类型是数组或集合时,不要返回null,尽量返回容量为0的数据或集合@Overridepublic ListServerP

当方法的返回类型是数组或集合时,不要返回null,尽量返回容量为0的数据或集合

@Overridepublic List<ServerPopBean> queryServerListByStoreAndYn(int storeId) {try {if(storeId != 0){return serverPopManager.queryServerListByStoreAndYn(storeId);}else{return null;}} catch (Exception e) {log.error("Query server list by store and yn error!", e);return null;}}

可以看出来,如果要调用queryServerListByStoreAndYn()方法的返回对象,一个必要的操作是判空!但是,调用的代码并没有进行判空,直接操作,造成了空指针一样。

怎样让调用者省心不用判空?So easy!返回容量为零的集合。这样,既保持了代码的逻辑不变,而且调用方便不用判空。

修改后的代码如下:

@Overridepublic List<ServerPopBean> queryServerListByStoreAndYn(int storeId) {try {if(storeId != 0){return serverPopManager.queryServerListByStoreAndYn(storeId);}else{return new ArrayList<ServerPopBean>();}} catch (Exception e) {log.error("Query server list by store and yn error!", e);return new ArrayList<ServerPopBean>();}}

如此一来,便可完全规避不必要的空指针异常。《effective java》一书有对这种代码的详解。

热点排行