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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

java陷阱之自动拆箱

發布時間:2023/11/27 生活经验 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java陷阱之自动拆箱 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

項目中突然報空指針異常

 Integer code=null;code=code==null?500:code;

排查發現三元運算符空指針異常,表面上看不出來有什么問題,編譯器編譯的時候會保證:2邊數據類型一致如:

String code=true?"":0;

會編譯不通過。因為String?和int不是一個類型

按照上面的邏輯Integer是class類型并不是數值類型 編譯器應該編譯不通過。其實編譯之后編譯器后的代碼是:
ccode=code==null?500:code.initValue();
所以這段代碼才會編譯通過。但是當code是null 調用initValue就會報空指針異常

同理以下代碼也會報空指針異常
 Integer code=null;int i=code;
--編譯之后代碼
int i=code.initValue()

?

這一切的原因都是編譯器自動拆箱造成的。如下情況?價格是否為null判斷就好了?

?

?



轉載于:https://www.cnblogs.com/LQBlog/p/9090647.html

總結

以上是生活随笔為你收集整理的java陷阱之自动拆箱的全部內容,希望文章能夠幫你解決所遇到的問題。

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