更新時(shí)間:2020-07-22 16:10:31 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2337次
知道為什么以下程序拋出一個(gè)NPE
public?static?void?main(String[]?args)?{
????Integer?testInteger?=?null;
????String?test?=?"test"?+?testInteger?==?null???"(null)"?:?testInteger.toString();
}
而這個(gè)
public?static?void?main(String[]?args)?{
????Integer?testInteger?=?null;
????String?test?=?"test"?+?(testInteger?==?null???"(null)"?:?testInteger.toString());
}
沒(méi)有.這當(dāng)然是一個(gè)優(yōu)先問(wèn)題,我很好奇連接如何工作.
解決方法
這是了解operator precedence的重要性的一個(gè)例子.
您需要括號(hào),否則解釋如下:
String?test?=?("test"?+?testInteger)?==?null???"(null)"?:?testInteger.toString();
請(qǐng)參閱here了解操作符列表及其優(yōu)先級(jí).還要注意該頁(yè)面頂部的警告:
Note:Use explicit parentheses when there is even the possibility of confusion.
以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java連續(xù)字符串中的條件運(yùn)算符”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢(xún),有專(zhuān)業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743