Optional
1. 概述
大量的业务代码中有很多关于非空的判断,显得代码臃肿不堪,且程序员经常忘记这一操作。使用Optional可以避免空指针异常。并且很多函数式编程的API中也用到了Optional。
2. 使用
package org.example;
import java.util.*;
public class Main {
public static void main(String[] args) {
Optional<User> userOptional = User.getUserOptional();// 获取Optional封装的User
userOptional.ifPresent(user -> System.out.println(user.age));// 消费(如果User是Null 不会执行)
}
}
class User {
public User(int age, List<String> name) {
this.age = age;
this.name = name;
}
public int age;
public List<String> name;
public static Optional<User> getUserOptional(){
List<String> list = new ArrayList<>();
list.add("张三");
list.add("mike");
User user = new User(1, list);
return Optional.ofNullable(user);// 封装User到Optional里
}
}