一文让你彻底了解java中Optional对象

打印 上一主题 下一主题

主题 860|帖子 860|积分 2580

转自:
http://www.java265.com/JavaCourse/202204/2854.html
下文笔者将详细讲述java中Optional对象,如下所示
  1. Optional对象的功能:
  2.     可使用最简化的代码,并高效的处理NPE(Null Pointer Exception空指针异常)
复制代码
Optional对象的简介
  1. Optional类是java为平时判断对象是否为空时使用
复制代码
例:
  1. jdk8以前的写法
  2. User user = new User();
  3. if (null == user){
  4.    return "user为null";
  5. }
  6. jdk8以后可采用以下写法
  7. User user = new User();
  8. return Optional.ofNullable(user).orElse("user为null");
复制代码
Optional对象创建
  1. // 1、创建一个包装对象值为空的Optional对象
  2. Optional<String> optEmpty = Optional.empty();
  3. // 2、创建包装对象值非空的Optional对象
  4. Optional<String> optOf = Optional.of("optional");
  5. // 3、创建包装对象值允许为空也可以不为空的Optional对象
  6. Optional<String> optOfNullable1 = Optional.ofNullable(null);
  7. Optional<String> optOfNullable2 = Optional.ofNullable("optional");
复制代码
Optional.get()方法(返回对象的值)

get()方法是返回一个option的实例值
  1. public T get() {
  2.     if (value == null) {
  3.         throw new NoSuchElementException("No value present");
  4.     }
  5.     return value;
  6. }
  7. 例:
  8. User user = new User();
  9. user.setAge(2);
  10. Optional.ofNullable(person).get();
复制代码
Optional.isPresent()方法(判读是否为空)

isPresent()方法就是会返回一个boolean类型值,如果对象不为空则为真,如果为空则false
  1. public boolean isPresent() {
  2.         return value != null;
  3.     }
  4. User user = new User();
  5.     user.setAge(2);
  6.     if (Optional.ofNullable(user).isPresent()){
  7.     //写不为空的逻辑
  8.     System.out.println("不为空");
  9.     }else{
  10.      //写为空的逻辑
  11.      System.out.println("为空");
  12.     }
复制代码
Optional.ifPresent()方法(判读是否为空并返回函数)

如果对象非空,则运行函数体
[code]  public void ifPresent(Consumer
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

渣渣兔

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表