Optional类

作者: 鑫鑫哥哥丨 | 来源:发表于2017-09-11 15:16 被阅读0次

Optional类为Java8新引入的一个类,Optional是一个可以为null的容器对象,Optional中的一些方法可以判断容器中的这个值是否为null,在编码中可以使用这个类来判断某个参数或者某个方法的返回值是否为null,可以很直接的解决NullPointException的问题。下面是Optional类的几个方法。

首先看一下Optional类的of()方法 和ofNullable()方法,他俩都是将一个值存入Optional容器中。of和ofNullable最大的区别就是of()方法传入的参数不能为null,如果传入参数为null,则抛出NullPointerException ,而ofNullable()方法传入的参数可以为null。

  • of()方法:
public static void main(String[] args){
  //创建Optional对象实例
  Optional<String> name = Optional.of("GAME START!");
  //会抛出NullPointException
  Optional<String> nullName = Optional.of(null);
} 
  • ofNullable()方法:
public static void main(String[] args){
  //创建Optional对象实例
  Optional<String> name = Optional.ofNullable("GAME START!");
  //创建一个空的Optional对象实例
  Optional<Stirng> empty = Optional.ofNullable(null);
}
  • isPresent()方法,如果值存在放回true,否则返回false
public static void main(String[] args){
  Optional<String> name = Optional.of("Game start!");
  if(name.isPersent()){
    //调用get()返回已存在的值 
    System.out.println(name.get());//输出Game start!
  }
}
  • orElse()方法,如果Optional容器中有值则将其返回,否则返回orElse()中的值。
  public static void main(String[] args){
    Optional<String> name = Optional.ofNullable("game start!");  
    Optional<String> empty = Optional.ofNullable(null);  
    //如果值不为null,orElse方法返回Optional实例的值。如果为null,返回传入的消息。  
    System.out.println(name.orElse("game over!"));//输出:game start!
    System.out.println(empty.orElse("game over!"));//输出:game over!
  }

相关文章

  • Java 9 改进的 Optional 类

    Optional 类在 Java 8 中引入,Optional 类的引入很好的解决空指针异常。 Optional ...

  • Optional用法

    Optional用法 从 Java 8 引入的一个很有趣的特性是 Optional 类。Optional 类主要...

  • Optional类

    Optional类为Java8新引入的一个类,Optional是一个可以为null的容器对象,Optional中的...

  • Optional类

    人可能有车,也可能没有车,因此将这个字段声明为Optional。车可能进行了保险,也可能没有保险,所以将这个字段声...

  • Optional 类

    Optional 类 声明:java8新特性系列为个人学习笔记,参考地址点击这里,侵删!! 到目前为止,臭名昭著的...

  • optional类

    简介 首先我们需要明确的是它并 不是对 null 关键字的替代策略,而是对于 null 判定提供了一种更加优雅的实...

  • Optional类

    一、Optional类创建 二、常用方法

  • Optional类

  • Optional 类

  • Java9 改进的 Optional 类

    Java 9 改进的 Optional 类 Java 9 新特性 Optional 类在 Java 8 中引入,O...

网友评论

    本文标题:Optional类

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