java8新特性Optinal的作用是什么


本篇内容主要讲解“java8新特性Optinal的作用是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java8新特性Optinal的作用是什么”吧!空指针异常可能占据了一半的异常发生率。于是oracle想用optional这类‘优雅的’解决null。想象挺美好,现实很残酷。显然optional并没有使代码变得那么优雅。看了七八篇大神的博客,不管从代码量或者代码思想上都没有什么质的改变,你仍然要时刻担心null的出现及给它相应的处理。如果你想统一处理还不如直接代码try catch 空指针异常。在我发现它真正对代码的改善前,暂且不推荐(不过阿里推荐,还是人家牛,听阿里的吧)更新——————————————————本着求真务实的精神,今天更加详细分析一下optional的使用方法。(根据实际开发,理论玩家无视)。1,首先是构造方法 Optional.of(),Optional.ofNullable() ,Optional.empty()。Optional.of():of方法在传入的参数为null时,抛出空指针异常。许多博客都说要在确定参数不为null时使用。可要是确定参数不为null,为什么要用Optional。个人观点,Optional,的所有方法中,可能会抛出空指针异常的,都违背了使用Optional的初衷。如get()方法。Optional.empty():构造一个空值值 optional,非特殊情况无使用价值。默认就使用ofNullable()方法构造。2,各方法的使用 ①isPresent() 根据是否为空返回boolean。一个挖坑又填坑的方法。直接判断参数==null?不好吗。 ②ifPresent(Consumer) 在对象不为空时,执行Consumer(函数表达式),空时不执行。相当于if(obj==null){…..},的简便写法。你可能会说这也没什么大用啊,我的硬盘又不在乎多一行代码,再想写个else都不行。这个。。。。你说的对。 但这已经是Optional中比较有用的方法了。 ③get() 获取optional中的值,空则抛出异常。前面说了,这个方法看不出来使用价值 ④orElse(T other) 如果为空,用other替代。同样可用一行if替代。但你可用来装一下 ⑤orElseThrow 如果为空抛出异常。不想评价它 ⑥map 如果你从一个对象中想得到第若干层的子对象,每一层都要都要空值校验如,Obj=obj1.get(“obj2”).get(“obj3”).get(“obj4”);上一个get方法返回的值为null时,下一个get方法执行时都会抛异常。于是就要写若干层i 香港云主机f。map则允许进行链式操作,在最后才处理null值。这是optional最值得使用的方法。到此,相信大家对“java8新特性Optinal的作用是什么”有了更深的了解,不妨来实际操作一番吧!这里是开发云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

相关推荐: JavaScript优先队列与循环队列怎么实现

本篇内容介绍了“JavaScript优先队列与循环队列怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处 香港云主机理这些情况吧!希望大家仔细阅读,能够学有所成!优先队列实现一个优先队列:设置优先级,然…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 08/01 18:28
Next 08/01 18:28

相关推荐