package com.example.demo.optional;
import lombok.Data;
import java.util.Optional;
/**
* Created with IntelliJ IDEA.
*
* @author: hang hang
* @Date: 2020/08/12/10:39
* @Description: 对于Java 8 提供的Optional类进行学习
*/
public class OptionalTest {
@Data
static class User{
public Name name;
}
static class Name{
public Integer toUpperCase(){
System.out.println("Name.toUpperCase");
return 1;
}
}
/**
* Optional 是一个final类,旨在解决NullPointException
*
* 构造:
* 由于构造器私有 Optional 提供了三种构造方式: Optional.of(obj), Optional.ofNullable(obj) 和明确的 Optional.empty()
*
* Optional.of(obj): 它要求传入的 obj 不能是 null 值的, 否则还没开始进入角色就倒在了 NullPointerException 异常上了.
* Optional.empty():
* Optional.ofNullable(obj): 它以一种智能的, 宽容的方式来构造一个 Optional 实例. 来者不拒, 传 null 进到就得到
* Optional.empty(), 非 null 就调用 Optional.of(obj).
Java学习笔记 —— JDK 8 对于null 的判断 Optional
最新推荐文章于 2024-05-03 04:41:15 发布