函数式编程一种基于Optional的优雅处理NPE的方法

Posted 算法与编程之美

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数式编程一种基于Optional的优雅处理NPE的方法相关的知识,希望对你有一定的参考价值。

问题

Noll Pointer Exception俗称NPE空指针异常,是Java程序开发中一种最为常见的错误。一旦出现,如果没有经过特别的处理,将会用户带来极差的体验。

本文介绍一个利用Optional来优雅处理NPE的案例。

方法

在做爬虫相关开发的时候,首先需要获取目标网页的html字符串信息,接着,通过Jsoup对其进行解析得到document对象,然后通过document对象来提取指定的信息。如下所示,先判断doc对象是否存在,接着通过select选择器选取title标签,然后获得第一个,最后获取text信息。

可以看到,期间需要经过一系列的判断,只有对象不为空时才能继续。当采用Optional机制来解决这一问题时,将变得十分简单,如下所示:

Document doc = Jsoup.parse(html);
// 利用Optional优雅的处理NLP问题;

以上是关于函数式编程一种基于Optional的优雅处理NPE的方法的主要内容,如果未能解决你的问题,请参考以下文章

使用Optional摆脱NPE的折磨

使用Optional摆脱NPE的折磨

lamda表达式的stream判空及优雅处理

如何优雅处理多参数返回/无参数返回——std::optional

深入理解函数式编程一种基于Consumer和Builder的OkHttp函数式编程方法

Java8 用法优雅的函数式编程与stream,你学会了吗?