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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java:数字转string 报空指针_《java基础》我踩过三元运算符的坑

發(fā)布時(shí)間:2024/4/11 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java:数字转string 报空指针_《java基础》我踩过三元运算符的坑 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

簡單介紹

三元運(yùn)算符(又稱三目運(yùn)算符)大家肯定肯定都使用過,我就簡單介紹一下,不在贅述。

三元元素的格式:【條件控制語句】 ? 【表達(dá)式1】 : 【表達(dá)式2】。

優(yōu)點(diǎn):

一些簡單的邏輯判斷三元運(yùn)算符可以簡化代碼,去除多余的 if-else 語句。

缺點(diǎn):

三元運(yùn)算符使用時(shí)必須有返回值,沒有返回值的表達(dá)式是不可以使用的。

使用時(shí)一點(diǎn)要注意,考慮好實(shí)際情況再進(jìn)行使用!

采坑經(jīng)歷

本人真實(shí)經(jīng)歷,分享給大家,希望大家可以少踩坑,早日成為大牛(每個(gè)程序員都有一個(gè)成為大牛的心,我也不例外。哈哈哈……)。話不多說直接上問題代碼。

/** * 真實(shí)代碼不方便透露,下列代碼是我模擬實(shí)現(xiàn)的。 */public class Demo2 { public static void main(String[] args) { // 初始化三個(gè)變量 Integer number1 = 20; Integer number2 = 30; Integer number3 = null; // 表達(dá)式 Integer result = number1 > number2 ? number1 + number2 : number3; System.out.printf("三元表達(dá)式的結(jié)果為:%d", result); }}

就是上面的代碼代碼,大家能看出來錯(cuò)誤嗎?可能不仔細(xì)看發(fā)現(xiàn)不了問題,下面我把控制臺(tái)運(yùn)行結(jié)果展示出來。

看到這個(gè)錯(cuò)誤后我一愣,明明是拿包裝類接收的返回值?不應(yīng)該報(bào)空指針錯(cuò)誤的啊?然后我將class文件反編譯了一下,此時(shí)錯(cuò)誤一目了然。

真相大白!當(dāng)表達(dá)式1和表達(dá)式2進(jìn)行類型對(duì)齊時(shí)拋出了空指針異常。那么什么時(shí)候會(huì)出現(xiàn)類型對(duì)齊的情況呢?我總結(jié)了以下兩種會(huì)發(fā)出類型對(duì)齊的拆箱操作。

1.表達(dá)式一和表達(dá)式二有一個(gè)是基本數(shù)據(jù)類型。
2.表達(dá)式一和表達(dá)式二的值類型不一致,會(huì)強(qiáng)制拆箱升級(jí)成范圍更大的那個(gè)表達(dá)式的類型。

解決方案

解決方案非常簡單直接上代碼:

public static void main(String[] args) { Integer number1 = 20; Integer number2 = 30; Integer number3 = null; //將表達(dá)式的數(shù)據(jù)類型都轉(zhuǎn)換成統(tǒng)一的,就有效避免了該問題。 Integer result = number1 > number2 ? Integer.valueOf(number1 + number2) : number3; System.out.printf("三元表達(dá)式的結(jié)果為:%d", result);}

為了讓大家看得更清楚我將上面代碼的.class文件進(jìn)行了反編譯:

今天的分享就到這了,如果你們喜歡我寫的文章的話記得不要吝嗇手中的贊呦!

如果放棄太早,你永遠(yuǎn)都不知道自己會(huì)錯(cuò)過什么!

總結(jié)

以上是生活随笔為你收集整理的java:数字转string 报空指针_《java基础》我踩过三元运算符的坑的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。