返回空数组和集合而非 null

Posted dingwen_blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了返回空数组和集合而非 null相关的知识,希望对你有一定的参考价值。

文章目录

若程序运行返回null,需要调用方强制检测null,否则就会抛出空指针异常;返回空数组或空集合,有效地避免了调用方因为未检测null 而抛出空指针异常的情况,还可以删除调用方检测null 的语句使代码更简洁。

//返回null 反例
   public static Result[] getResults() {
       return null;
   }

   public static List<Result> getResultList() {
       return null;
   }

   public static Map<String, Result> getResultMap() {
       return null;
   }





//返回空数组和空集正例
   public static Result[] getResults() {
       return new Result[0];
   }

   public static List<Result> getResultList() {
       return Collections.emptyList();
   }

   public static Map<String, Result> getResultMap() {
       return Collections.emptyMap();
   }

以上是关于返回空数组和集合而非 null的主要内容,如果未能解决你的问题,请参考以下文章

特例模式(Special Case Pattern)与空对象模式(Null Pointer Pattern)—— 返回特例对象而非 null

片段中的TextView在Android Studio中返回Null

返回 null 或空集合更好吗?

解释'空'C数组(int a = {};)

ViewPager 中的片段在 getView() 中返回 null

具有空对象模式的 DAO