Java中的Optional——不看吃亏
程序员文章站
2022-06-07 12:37:11
...
package com.hash.Optional;
import com.alibaba.fastjson.JSONObject;
import java.util.Optional;
/**
* @Auther: King
* @Date: 2021/8/23 - 08 - 23 - 11:06
* @Description: com.hash.Optional
* @version: 1.0
*/
public class OptionalObject {
public static void main(String[] args) {
//of方法
User user = null;
//Optional<User> optionalUser = Optional.of(user);
//ofNullable方法
//想要获取对象就用get()
User user1 = new User("xiexing");
Optional<User> optionalUser1 = Optional.ofNullable(user1);
System.out.println("user"+ JSONObject.toJSONString(optionalUser1.get()));
//ifPresent方法
Optional.ofNullable(user1).ifPresent(user2 -> {
System.out.println(user2.getName());
});
//orElse方法
// 就是user对象如果是空的话就新建一个对象,如果不是空的就直接用user对象
User user2 = Optional.ofNullable(user).orElse(new User("123"));
System.out.println(JSONObject.toJSONString(user2));
// map方法
// 拿到对象里面的属性
String king = Optional.ofNullable(user1).map(User::getName).orElse("king");
System.out.println(king);
// filter方法
// 判断是否相等,相等的就放进集合,如果没有相等的值,集合就是null
Optional<User> optionalUser = Optional.ofNullable(user1).filter(user3 -> user3.getName().equals("xiexin"));
System.out.println(JSONObject.toJSONString(optionalUser));
}
}
上一篇: js中计算指定日期范围内的所有日期
下一篇: 营养价值高的这个菜你认识吗?发菜是什么