这篇文章将为大家详细讲解有关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 OptionalfetchCart() { Optional emptyCart = null; ... }
当前题目:Java中出现空指针异常如何使用Optional解决-创新互联
URL网址:http://lswzjz.com/article/dpdcji.html