最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Java中出現(xiàn)空指針異常如何使用Optional解決-創(chuàng)新互聯(lián)

這篇文章將為大家詳細(xì)講解有關(guān)Java 中出現(xiàn)空指針異常如何使用Optional解決,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

我們擁有十載網(wǎng)頁設(shè)計(jì)和網(wǎng)站建設(shè)經(jīng)驗(yàn),從網(wǎng)站策劃到網(wǎng)站制作,我們的網(wǎng)頁設(shè)計(jì)師為您提供的解決方案。為企業(yè)提供成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、微信開發(fā)、微信小程序、成都做手機(jī)網(wǎng)站HTML5建站、等業(yè)務(wù)。無論您有什么樣的網(wǎng)站設(shè)計(jì)或者設(shè)計(jì)方案要求,我們都將富于創(chuàng)造性的提供專業(yè)設(shè)計(jì)服務(wù)并滿足您的需求。

1、概述

Java8的版本,新增了Optional和[Lambda]表達(dá)式,Optional主要用于作為返回類型(主要解決的問題是臭名昭著的空指針異常

(NullPointerException)),并將其與流(或返回可選的方法)相結(jié)合以構(gòu)建連貫API。
但是,有些情況可以被認(rèn)為是陷阱,因?yàn)樗鼈儠?huì)降低代碼的質(zhì)量,甚至導(dǎo)致意想不到的錯(cuò)誤。總結(jié)以下26個(gè)例子,以避免這些陷阱。


2、 目 錄

[第1項(xiàng):決不將Null分配給可選變量]

[第2項(xiàng):調(diào)用Optional.get()之前,確保Optional具有值]

[第3項(xiàng):當(dāng)不存在任何值時(shí),通過Optional.orElse()方法設(shè)置/返回已經(jīng)構(gòu)造的默認(rèn)對(duì)象]

[第4項(xiàng):不存在任何值時(shí),通過Optional.orElseGet()方法設(shè)置/返回不存在的默認(rèn)對(duì)象]

[第5項(xiàng):當(dāng)不存在任何值時(shí),自Java 10起通過orElseThrow()拋出java.util.NoSuchElementException異常]

[第6項(xiàng):當(dāng)不存在任何值時(shí),通過orElseThrow(Supplier <?extended X> exceptionSupplier)引發(fā)顯式異常]

[第7項(xiàng):當(dāng)你有可選的并且需要空引用時(shí),請(qǐng)使用orElse(null)]

[第8項(xiàng):使用可選(如果存在)。如果不存在,則什么也不做。這是Optional.ifPresent()的工作。]

[第9項(xiàng):使用可選(如果存在)。如果不存在,請(qǐng)執(zhí)行基于空的操作。這是Optional.ifPresentElse(),Java 9的工作。]

[第10項(xiàng):當(dāng)值存在時(shí),設(shè)置/返回該可選項(xiàng)。如果不存在任何值,則設(shè)置/返回另一個(gè)可選項(xiàng)。這是Java 9的Optional.or()的工作。]

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

[第12項(xiàng):避免僅出于獲取價(jià)值的目的而鏈接可選方法]

[第13項(xiàng):不要聲明任何類型的可選字段]

[第14項(xiàng):在構(gòu)造函數(shù)參數(shù)中不要使用可選]

[第15項(xiàng):在Setters參數(shù)中不要使用可選]

[第16項(xiàng):在方法參數(shù)中不要使用可選]

[第17項(xiàng):不要使用Optional 的返回空的集合或數(shù)組]

[第18項(xiàng):避免在集合中使用Optional]

[第19項(xiàng):不要混淆Optional.of()和Optional.ofNullable()]

[第20項(xiàng):避免使用可選的,并選擇非通用的OptionalInt,OptionalLong或OptionalDouble]

[第21項(xiàng):無需包裝主張平等的任擇方案]

[第22項(xiàng):通過Map()和flatMap()轉(zhuǎn)換值]

[第23項(xiàng):使用filter()根據(jù)預(yù)定義的規(guī)則拒絕包裝值]

[第24項(xiàng):我們是否需要將可選API與流API鏈接在一起?]

[第25項(xiàng):避免對(duì)可選選項(xiàng)使用身份敏感的操作]

[第26項(xiàng):如果Optional為空,則返回一個(gè)布爾值。選Java 11,Optional.isEmpty()]

第1項(xiàng):決不將Null分配給可選變量

避免:

// 避免

public Optional fetchCart() {

 Optional emptyCart = null;

 ...

}

網(wǎng)頁題目:Java中出現(xiàn)空指針異常如何使用Optional解決-創(chuàng)新互聯(lián)
文章轉(zhuǎn)載:http://fisionsoft.com.cn/article/dpdcji.html