聊一聊Java8 Optional,让你的代码更加优雅

Python微信订餐小程序课程视频

https://edu.csdn.net/course/detail/36074

Python实战量化交易理财系统

https://edu.csdn.net/course/detail/35475

码农在囧途

随着时间的推移,曾经我们觉得重要的东西,可能在今天看来是如此的浅薄和无知,同理,今天我们放不下,想不开,觉得重要的东西,多年后我们可能也会觉得也就那样,所以,今天的的所有烦恼,忧愁,想不开,其实我们都没必要过于在意,因为有些东西随着时间的冲刷,也就那样了。

前言

Java8提供了Optional接口,Optional接口能够是我们的代码变得更加的优雅,可读性更高,同时能够很好的避免空指针,因为空指针是一个很让人头疼的问题,特别对于调用第三方接口,如果不知道对象的规约的时候,我们在取值的时候无法直到那些值能为空,那些不能为空,所以容易出现空指针,如果我们谨慎一点,可能会对每一个值进行判空处理,但是将会充斥着大量的if语句,甚是不雅观。

下面我们介绍一下Optional类的方法

empty()

返回一个空的Optional对象 Optional.empty

of(T value)

参数传入一个对象,返回一个Option对象,value不能为空,如果为null,将抛出空指针异常

 /**
  * @author 刘牌
  * @date 2022-03-2921:52
  */
 public class OptionalTest {
     public static void main(String[] args) {
         User user = null;
         Optional optional = Optional.of(user);
         System.out.println(user);
    }
 }

ofNullable(T value)

参数传入一个对象,可以为空,如果为空,将返回一个空的Optional对象,就等于Optional.empty(),输出的值为Optional.empty,如果不为空,返回一个不为空的Optional对象

 /**
  * @author 刘牌
  * @date 2022-03-2921:52
  */
 public class OptionalTest {
     public static void main(String[] args) {
         User user = null;
         Optional optional = Optional.ofNullable(user);
         System.out.println(optional);
    }
 }

get()

获取Optional中的值,这个值也就是我们的值,Optional相当于就是一个外壳。

 public class OptionalTest {
     public static void main(String[] args) {
         User user = null;
         Optional optional = Optional.ofNullable(user);
         User user1 = optional.get();
    }
 }

isPresent()

判断Optional对象中是否有值,如果有值,返回true,没值返回false。

true
 public class OptionalTest {
     public static void main(String[] args) {
         User user = new User();
         Optional optional = Optional.ofNullable(user);
         System.out.println(optional.isPresent());
    }
 }

false
 public class OptionalTest {
     public static void main(String[] args) {
         User user = null;
         Optional optional = Optio
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

[虚幻私塾】

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值