Java 中的 xx ≠ null 是什么新語(yǔ)法
奇怪的不等于(≠)
最近,棧長(zhǎng)用 IntelliJ IDEA 看源碼時(shí)發(fā)現(xiàn):
咦~這是什么鬼?
Java 不等于的寫法不是一直都是 != 么?什么時(shí)候可以寫 ≠ 了??
不科學(xué)啊~
以為我是老花眼了,認(rèn)真看了幾遍,覺(jué)得應(yīng)該是 IDEA 的特效吧,然后去點(diǎn)那個(gè)符號(hào),發(fā)現(xiàn)也還原不了原樣。。。
然后互聯(lián)網(wǎng)網(wǎng)沖浪了一翻,終于被我找到了這個(gè)開(kāi)關(guān):
Preferences > Editor > Reader Mode > Font ligatures
Reader Mode: 用于只讀模式的編輯器設(shè)置。
Font ligatures: ligatures 是 "繩索“、”繃帶" 的意思,F(xiàn)ont ligatures 不就是可以理解為 "字體繃帶" 么,所以 != 被顯示成 ≠ 就不奇怪了。
取消這個(gè)開(kāi)關(guān)后,再來(lái)看下上面的源碼:
終于恢復(fù)正常了,這樣看得才舒服。。
Ligatures擴(kuò)展
話說(shuō)在源碼中可以把 != 被顯示成 ≠,那在正常的代碼編輯器應(yīng)該也能顯示吧?
沒(méi)錯(cuò)??!
棧長(zhǎng)在設(shè)置菜單中根據(jù) "ligatures" 搜索,發(fā)現(xiàn)有好幾處設(shè)置 Font ligatures 的地方:
然后打開(kāi)這個(gè)選項(xiàng):
Preferences > Editor > Font > Enable font ligatures
棧長(zhǎng)隨便寫了些代碼測(cè)試了下:
正常的代碼編輯器也能顯示!
從上面的測(cè)試代碼可以看出,我加了個(gè) >=,所以不僅限于不等于,更多的符號(hào)可以通過(guò)切換這個(gè)開(kāi)關(guān)來(lái)看下。
關(guān)閉開(kāi)關(guān),原生顯示:
打開(kāi)開(kāi)關(guān),代替顯示:
我現(xiàn)在再把測(cè)試代碼復(fù)制出來(lái):
public class Test { public static void main(String[] args) { int n = 1; if (n != 0) { System.out.println(1); } if (n >= 1) { System.out.println(2); } } }
可以看到,顯示歸顯示,代碼復(fù)制出來(lái)還是正常的語(yǔ)法的。
總結(jié)
好了,今天棧長(zhǎng)給大家分享了 IDEA 的這個(gè) Font Ligatures 開(kāi)關(guān),也不知道 IDEA 是在哪個(gè)版本中搞了這個(gè)默認(rèn)開(kāi)關(guān),真是讓人無(wú)語(yǔ)。。
這個(gè)感覺(jué)就和 IDEA 中的智能顯示如出一轍:
如上所示,因?yàn)?Java 7 以上泛型類型能夠自動(dòng)推斷,如果集合接口帶了泛型,集合實(shí)現(xiàn)又帶了泛型,那么集合實(shí)現(xiàn)的泛型會(huì)被折疊成 ~ 顯示,鼠標(biāo)放上去或者點(diǎn)擊它就會(huì)顯示原生代碼,并且還能提示你集合實(shí)現(xiàn)中的泛型是多余的。
但是很無(wú)語(yǔ),像不等于符號(hào)這種卻不能點(diǎn)擊/懸浮顯示原生符號(hào),需要一個(gè)硬開(kāi)關(guān)。
總之,我覺(jué)得這個(gè)東西的存在根本就沒(méi)鳥(niǎo)用,也不是很建議大家使用,最終我就默默地把所有的 Font Ligatures 開(kāi)關(guān)都關(guān)閉了,不然會(huì)混淆視聽(tīng)。
當(dāng)然,蘿卜白菜各有所愛(ài),有喜歡這種顯示方式的那就是真香定律了。
IDEA 香是香,可能你會(huì)說(shuō)用它要收費(fèi),其實(shí)它也有開(kāi)源的社區(qū)版本,收費(fèi)的專業(yè)版也很容易申請(qǐng)到激活碼,關(guān)注公眾號(hào)Java技術(shù)棧,回復(fù):IDEA,可以閱讀我分享過(guò)的獲取正版 IDEA 激活碼的教程,很多粉絲都反饋說(shuō)輕松得到了,感興趣的都可以去申請(qǐng),不能太容易了。
最后,如果本文對(duì)你有幫助,點(diǎn)個(gè)在看鼓勵(lì)一下哦!也歡迎分享轉(zhuǎn)發(fā)給更多有需要的朋友~
你還遇到過(guò)哪些 IDEA 奇奇怪怪的問(wèn)題?歡迎分享~
版權(quán)申明:本文系公眾號(hào) "Java技術(shù)棧" 原創(chuàng),原創(chuàng)實(shí)屬不易,轉(zhuǎn)載、引用本文內(nèi)容請(qǐng)注明出處,禁止抄襲、洗稿,請(qǐng)自重,尊重大家的勞動(dòng)成果和知識(shí)產(chǎn)權(quán),抄襲必究。
以上就是Java 中的 xx ≠ null 是什么新語(yǔ)法?的詳細(xì)內(nèi)容,更多關(guān)于Java xx ≠ null 的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
SpringBoot整合SpringSecurity和JWT和Redis實(shí)現(xiàn)統(tǒng)一鑒權(quán)認(rèn)證
Spring Security是一個(gè)可以為Java應(yīng)用程序提供全面安全服務(wù)的框架,同時(shí)它也可以輕松擴(kuò)展以滿足自定義需求,本文主要介紹了SpringBoot整合SpringSecurity和JWT和Redis實(shí)現(xiàn)統(tǒng)一鑒權(quán)認(rèn)證,感興趣的可以了解一下2023-11-11Springboot+MybatisPlus+Oracle實(shí)現(xiàn)主鍵自增的示例代碼
這篇文章主要介紹了Springboot+MybatisPlus+Oracle實(shí)現(xiàn)主鍵自增的示例代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11Java面試官最喜歡問(wèn)的關(guān)鍵字之volatile詳解
這篇文章主要給大家介紹了關(guān)于Java面試官最喜歡問(wèn)的關(guān)鍵字之volatile的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03Java實(shí)現(xiàn)掃雷游戲詳細(xì)代碼講解
windows自帶的游戲《掃雷》是陪伴了無(wú)數(shù)人的經(jīng)典游戲,本文將利用Java語(yǔ)言實(shí)現(xiàn)這一經(jīng)典的游戲,文中的示例代碼講解詳細(xì),感興趣的可以學(xué)習(xí)一下2022-05-05詳解在springboot中使用Mybatis Generator的兩種方式
這篇文章主要介紹了詳解在springboot中使用Mybatis Generator的兩種方式,本文將介紹到在springboot的項(xiàng)目中如何去配置和使用MBG以及MBG生成代碼的兩種方式,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2018-11-11Java子線程調(diào)用RequestContextHolder.getRequestAttributes()方法問(wèn)題詳解
這篇文章主要介紹了Java子線程調(diào)用RequestContextHolder.getRequestAttributes()方法問(wèn)題處理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-09-09SpringBoot?自定義starter?yaml提示失效問(wèn)題及解決方法
在自定義starter后,必不可少會(huì)有properties配置參數(shù)需要指定,而在有時(shí)又不知道為什么出現(xiàn)這個(gè)問(wèn)題,這篇文章主要介紹了SpringBoot?自定義starter?yaml提示失效問(wèn)題,需要的朋友可以參考下2022-12-12