Optional类的基本使用

java8中引入了一个新类:Optional,用于日常编码中对空指针异常进行限制和处理:

返回值 方法 说明
static <T> Optional<T> empty() 返回一个空 Optional实例
static <T> Optional<T> of(T value) 将非空值设置到Optional实例并返回该实例
static <T> Optional<T> ofNullable(T value) 将值设置到Optional实例中并返回该实例
T get() 如果一个值是在这 Optional,返回值,否则将 NoSuchElementException
T orElse(T other) 如果当前有值且非空则返回该值,否则返回 other

测试:

package test.HimmaQ;

import java.util.Optional;



public class OptionalTest {

    public static void main(String[] args) {
        Optional.of(null);  //NullPointerException
        Optional.ofNullable(null);//可放入null值(允许为null)
        System.out.println(Optional.ofNullable("1111").get());//输出1111
        Optional.ofNullable(null).get();//Optional.get()  NoSuchElementException,当Optional中放的是null时用get()取则报该异常
        System.out.println(Optional.ofNullable(null).orElse("2222"));//输出2222
        System.out.println(Optional.ofNullable("1111").orElse("2222"));//输出1111
        System.out.println(Optional.ofNullable(null).isPresent());//输出false
        System.out.println(Optional.ofNullable("1111").isPresent());//输出true

    }

}

更多方法请见java8帮助文档。

猜你喜欢

转载自www.cnblogs.com/HimmaQ/p/10229978.html