日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java和甜蜜的科学

發布時間:2023/12/3 java 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java和甜蜜的科学 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

當您使用Java進行開發已有15年并且同事要求您幫助他們調試空指針異常時,您不會感到驚訝。 通常,很明顯什么是null,唯一要做的就是找出原因。

有時會有些困難,因為有人創建了一系列取消引用的對象。 前幾天,我遇到了一些新東西,并感到困惑了一段時間。 用Java調試最簡單的事情之一就是一時的神秘感。

考慮下面的代碼,并告訴我空指針異常在哪里:

return value;

沒錯,NPE被拋出一個簡單的return語句。

怎么會這樣 沒有明顯的取消引用。 沒有引用為空。 那句話很簡單。 讓我稍微擴展一下代碼視圖,以便您更好地了解發生了什么:

public int getValue(){return value;}

再一次,我們正在看非常簡單的代碼。 在上面的代碼和文章標題中的提示之間,您可能已經知道發生了什么,或者您可能更加困惑。 再次沒有明確地取消引用。 不僅我們甚至沒有處理引用,它還返回一個原語。

您從線索中找出來了嗎? 好的,這是其余的代碼和說明:

package Example; publicclass Example {Integer value;public int getValue(){return value;} }

注意,value是一個以大寫I表示的Integer,而getValue返回int。

在Java 5之前的過去,您會在上述代碼上遇到編譯錯誤。 但是Java 5引入了自動裝箱 。 這個功能在我的Java職業生涯中已經存在了將近一半,并且從未使我感到困惑或困惑。 它一直是一個方便的功能。

自動裝箱允許在基元及其等效的第一類對象之間進行無縫轉換。 因此,您無需分配value.intValue即可獲取原語,而只需分配值即可。 但是在幕后它仍然調用intValue方法。

那就是NPE發生的地方。 有問題的行變為:

return value.intValue();

在那條線上,很明顯NPE發生在哪里。

哦,萬一有人錯過它,那么體育拳擊運動就叫做Sweet Science。 我覺得自己被Autoboxing吸引住了,因此是本文的名稱。

翻譯自: https://www.javacodegeeks.com/2014/10/java-and-the-sweet-science.html

總結

以上是生活随笔為你收集整理的Java和甜蜜的科学的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。