内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

Java14發(fā)布了,再也不怕NullPointerException了-創(chuàng)新互聯(lián)

2020年3月17日發(fā)布,Java正式發(fā)布了JDK 14 ,目前已經(jīng)可以開放下載。在JDK 14中,共有16個新特性,本文主要來介紹其中的一個特性:JEP 358: Helpful NullPointerExceptions

創(chuàng)新互聯(lián)建站服務(wù)緊隨時代發(fā)展步伐,進行技術(shù)革新和技術(shù)進步,經(jīng)過10多年的發(fā)展和積累,已經(jīng)匯集了一批資深網(wǎng)站策劃師、設(shè)計師、專業(yè)的網(wǎng)站實施團隊以及高素質(zhì)售后服務(wù)人員,并且完全形成了一套成熟的業(yè)務(wù)流程,能夠完全依照客戶要求對網(wǎng)站進行網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、建設(shè)、維護、更新和改版,實現(xiàn)客戶網(wǎng)站對外宣傳展示的首要目的,并為客戶企業(yè)品牌互聯(lián)網(wǎng)化提供全面的解決方案。

null何錯之有?

對于Java程序員來說,null是令人頭痛的東西。時常會受到空指針異常(NullPointerException)的騷擾。相信很多程序員都特別害怕出現(xiàn)程序中出現(xiàn)NPE,因為這種異常往往伴隨著代碼的非預(yù)期運行。

在編程語言中,空引用(Null Reference)是一個與空指針類似的概念,是一個已宣告但其并未引用到一個有效對象的變量。

在Java 1 中就包含了了Null引用和NPE了,但是其實,Null引用是偉大的計算機科學(xué)家Tony Hoare 早在1965年發(fā)明的,最初作為編程語言ALGOL W的一部分。

1965年,英國一位名為Tony Hoare的計算機科學(xué)家在設(shè)計ALGOL W語言時提出了null引用的想法。ALGOL W是第一批在堆上分配記錄的類型語言之一。Hoare選擇null引用這種方式,“只是因為這種方法實現(xiàn)起來非常容易”。雖然他的設(shè)計初衷就是要“通過編譯器的自動檢測機制,確保所有使用引用的地方都是絕對安全的”,他還是決定為null引用開個綠燈,因為他認為這是為“不存在的值”建模最容易的方式。

但是在2009年,很多年后,他開始為自己曾經(jīng)做過這樣的決定而后悔不已,把它稱為“一個價值十億美元的錯誤”。實際上,Hoare的這段話低估了過去五十年來數(shù)百萬程序員為修復(fù)空引用所耗費的代價。因為在ALGOL W之后出現(xiàn)的大多數(shù)現(xiàn)代程序設(shè)計語言,包括Java,都采用了同樣的設(shè)計方式,其原因是為了與更老的語言保持兼容,或者就像Hoare曾經(jīng)陳述的那樣,“僅僅是因為這樣實現(xiàn)起來更加容易”。

Java14發(fā)布了,再也不怕NullPointerException了

相信很多Java程序員都一樣對null和NPE深惡痛絕,因為他確實會帶來各種各樣的問題(來自《Java 8 實戰(zhàn)》)。如:

  • 它是錯誤之源。 NullPointerException是目前Java程序開發(fā)中最典型的異常。它會使你的代碼膨脹。
  • 它讓你的代碼充斥著深度嵌套的null檢查,代碼的可讀性糟糕透頂。
  • 它自身是毫無意義的。 null自身沒有任何的語義,尤其是是它代表的是在靜態(tài)類型語言中以一種錯誤的方式對缺失變量值的建模。
  • 它破壞了Java的哲學(xué)。 Java一直試圖避免讓程序員意識到指針的存在,唯一的例外是:null指針。
  • 它在Java的類型系統(tǒng)上開了個口子。 null并不屬于任何類型,這意味著它可以被賦值給任意引用類型的變量。這會導(dǎo)致問題, 原因是當(dāng)這個變量被傳遞到系統(tǒng)中的另一個部分后,你將無法獲知這個null變量最初賦值到底是什么類型。

其他語言如何解決NPE問題

我們知道,出了Java語言外,還有很多其他的面向?qū)ο笳Z言,那么在其他的一些語言中,是如何解決NPE的問題的呢?

如在Groovy中使用安全導(dǎo)航操作符(Safe Navigation Operator)可以訪問可能為null的變量:

def carInsuranceName = person?.car?.insurance?.name

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.rwnh.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

本文題目:Java14發(fā)布了,再也不怕NullPointerException了-創(chuàng)新互聯(lián)
網(wǎng)站鏈接:http://www.rwnh.cn/article48/djphep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、品牌網(wǎng)站建設(shè)、外貿(mào)建站定制開發(fā)、響應(yīng)式網(wǎng)站、網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)
布拖县| 江口县| 和林格尔县| 梧州市| 平远县| 元朗区| 壶关县| 阿拉善左旗| 襄垣县| 梧州市| 崇义县| 子长县| 抚州市| 广安市| 枣庄市| 高唐县| 鹿邑县| 旌德县| 永登县| 竹山县| 渭源县| 布拖县| 临海市| 调兵山市| 内丘县| 彰化县| 肇东市| 沧源| 鸡东县| 彩票| 大港区| 无为县| 保康县| 会昌县| 年辖:市辖区| 乐东| 泸水县| 敦化市| 石河子市| 铅山县| 开鲁县|