美文网首页
Java基础-熟悉的空指针

Java基础-熟悉的空指针

作者: E先森哟 | 来源:发表于2019-05-23 18:08 被阅读0次

最近在接口开发过程中,发现对外接口的开发都需要添加入参的空值判断,这么统计下来整个工程有很多代码是在做空值判断。所以就想专门整理下如何优雅的处理空指针异常。

1. jdk关键类optional

跳转到简书上不错的介绍optional的文章

2. 空对象设计模式

  • 定义

转自维基百科
In object-oriented computer programming, a null object is an object with no referenced value or with defined neutral ("null") behavior. The null object design pattern describes the uses of such objects and their behavior (or lack thereof).

以上我的理解大致是,在面向对象的变成过程中,一个空对象就是一个没有赋值或者定义了返回值为null行为的对象。空对象设计模式即描述了空对象的使用及它们的行为(或者它们的不足)。

  • 使用
    转自易百教程
    创建一个AbstractCustomer抽象类来定义一些操作。这里的客户名称和扩展AbstractCustomer类的具体类。 创建工厂类CustomerFactory用来根据传递给它的客户名称返回RealCustomer或NullCustomer对象。
  1. 抽象类AbstractCustomer
public abstract class AbstractCustomer {
   protected String name;
   public abstract boolean isNil();
   public abstract String getName();
}
  1. 继承类RealCustomer和Java
    NullCustomer
public class RealCustomer extends AbstractCustomer {

   public RealCustomer(String name) {
      this.name = name;
   }

   @Override
   public String getName() {
      return name;
   }

   @Override
   public boolean isNil() {
      return false;
   }
}
public class NullCustomer extends AbstractCustomer {

   @Override
   public String getName() {
      return "Not Available in Customer Database";
   }

   @Override
   public boolean isNil() {
      return true;
   }
}
  1. 工厂类CustomerFactory
public class CustomerFactory {

   public static final String[] names = {"Rob", "Joe", "Julie"};

   public static AbstractCustomer getCustomer(String name){

      for (int i = 0; i < names.length; i++) {
         if (names[i].equalsIgnoreCase(name)){
            return new RealCustomer(name);
         }
      }
      return new NullCustomer();
   }
}

相关文章

  • Java基础-熟悉的空指针

    最近在接口开发过程中,发现对外接口的开发都需要添加入参的空值判断,这么统计下来整个工程有很多代码是在做空值判断。所...

  • 空指针异常(java.lang.NullPointerExce

    Java空指针异常(java.lang.NullPointerException) Java空指针异常(java....

  • Java空指针异常:java.lang.NullPointerE

    1.什么是空指针 指针只存在于c语言中,Java中是没有指针的,空指针就是空引用,java空指针异常就是引用本身为...

  • 5种exception(异常)

    空指针(Java.lang.NullPointerException)1、他是啥(what):空指针是Java开发...

  • Kotlin-空指针检查

    Kotlin搞空指针检查现象:java存在问题,大量的崩溃是空指针异常。原因:java的空指针异常是一种运行时异常...

  • 表示空的事物

    [NULL] :表示基础类型指针为空 int *p = NULL; [nil] : 表示对象指针为空 id o...

  • Optional 干掉空指针

    简介 空指针异常是导致Java应用程序失败的最常见原因。为了解决空指针异常更加优雅,Java8 提供了 Optio...

  • iOS 空指针 野指针 僵尸对象

    一些基础的知识,经常混淆,特整理下 空指针: 1. 没有存储任何内存地址的指针就称为空指针(NULL指针)。 2....

  • iOS 空指针 野指针 僵尸对象

    一些基础的知识,经常混淆,特整理下 空指针: 1. 没有存储任何内存地址的指针就称为空指针(NULL指针)。 2....

  • C++ 、java 和 C# 的区别

    一、基础类型 c++: ** java:** C#: 二、指针 1.java 是没有指针这个概念,c++ 和 c#...

网友评论

      本文标题:Java基础-熟悉的空指针

      本文链接:https://www.haomeiwen.com/subject/bwtvzqtx.html