重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

Java中出现空指针异常如何使用Optional解决-创新互联

这篇文章将为大家详细讲解有关Java 中出现空指针异常如何使用Optional解决,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

我们拥有十载网页设计和网站建设经验,从网站策划到网站制作,我们的网页设计师为您提供的解决方案。为企业提供成都网站设计、成都做网站、微信开发、微信小程序、成都做手机网站HTML5建站、等业务。无论您有什么样的网站设计或者设计方案要求,我们都将富于创造性的提供专业设计服务并满足您的需求。

1、概述

Java8的版本,新增了Optional和[Lambda]表达式,Optional主要用于作为返回类型(主要解决的问题是臭名昭著的空指针异常

(NullPointerException)),并将其与流(或返回可选的方法)相结合以构建连贯API。
但是,有些情况可以被认为是陷阱,因为它们会降低代码的质量,甚至导致意想不到的错误。总结以下26个例子,以避免这些陷阱。


2、 目 录

[第1项:决不将Null分配给可选变量]

[第2项:调用Optional.get()之前,确保Optional具有值]

[第3项:当不存在任何值时,通过Optional.orElse()方法设置/返回已经构造的默认对象]

[第4项:不存在任何值时,通过Optional.orElseGet()方法设置/返回不存在的默认对象]

[第5项:当不存在任何值时,自Java 10起通过orElseThrow()抛出java.util.NoSuchElementException异常]

[第6项:当不存在任何值时,通过orElseThrow(Supplier <?extended X> exceptionSupplier)引发显式异常]

[第7项:当你有可选的并且需要空引用时,请使用orElse(null)]

[第8项:使用可选(如果存在)。如果不存在,则什么也不做。这是Optional.ifPresent()的工作。]

[第9项:使用可选(如果存在)。如果不存在,请执行基于空的操作。这是Optional.ifPresentElse(),Java 9的工作。]

[第10项:当值存在时,设置/返回该可选项。如果不存在任何值,则设置/返回另一个可选项。这是Java 9的Optional.or()的工作。]

[第11项:Optional.orElse / orElseXXX是Lambdas中的isPresent()-get()完美替代]

[第12项:避免仅出于获取价值的目的而链接可选方法]

[第13项:不要声明任何类型的可选字段]

[第14项:在构造函数参数中不要使用可选]

[第15项:在Setters参数中不要使用可选]

[第16项:在方法参数中不要使用可选]

[第17项:不要使用Optional 的返回空的集合或数组]

[第18项:避免在集合中使用Optional]

[第19项:不要混淆Optional.of()和Optional.ofNullable()]

[第20项:避免使用可选的,并选择非通用的OptionalInt,OptionalLong或OptionalDouble]

[第21项:无需包装主张平等的任择方案]

[第22项:通过Map()和flatMap()转换值]

[第23项:使用filter()根据预定义的规则拒绝包装值]

[第24项:我们是否需要将可选API与流API链接在一起?]

[第25项:避免对可选选项使用身份敏感的操作]

[第26项:如果Optional为空,则返回一个布尔值。选Java 11,Optional.isEmpty()]

第1项:决不将Null分配给可选变量

避免:

// 避免

public Optional fetchCart() {

 Optional emptyCart = null;

 ...

}

名称栏目:Java中出现空指针异常如何使用Optional解决-创新互联
网页链接:http://cqcxhl.com/article/dpdcji.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP