Java 中的 xx ≠ null 是什么新語法
奇怪的不等于(≠)
最近,棧長用 IntelliJ IDEA 看源碼時(shí)發(fā)現(xiàn):

咦~這是什么鬼?
Java 不等于的寫法不是一直都是 != 么?什么時(shí)候可以寫 ≠ 了??
不科學(xué)啊~
以為我是老花眼了,認(rèn)真看了幾遍,覺得應(yīng)該是 IDEA 的特效吧,然后去點(diǎn)那個(gè)符號,發(fā)現(xiàn)也還原不了原樣。。。
然后互聯(lián)網(wǎng)網(wǎng)沖浪了一翻,終于被我找到了這個(gè)開關(guān):
Preferences > Editor > Reader Mode > Font ligatures

Reader Mode: 用于只讀模式的編輯器設(shè)置。
Font ligatures: ligatures 是 "繩索“、”繃帶" 的意思,F(xiàn)ont ligatures 不就是可以理解為 "字體繃帶" 么,所以 != 被顯示成 ≠ 就不奇怪了。
取消這個(gè)開關(guān)后,再來看下上面的源碼:

終于恢復(fù)正常了,這樣看得才舒服。。
Ligatures擴(kuò)展
話說在源碼中可以把 != 被顯示成 ≠,那在正常的代碼編輯器應(yīng)該也能顯示吧?
沒錯(cuò)??!
棧長在設(shè)置菜單中根據(jù) "ligatures" 搜索,發(fā)現(xiàn)有好幾處設(shè)置 Font ligatures 的地方:

然后打開這個(gè)選項(xiàng):
Preferences > Editor > Font > Enable font ligatures
棧長隨便寫了些代碼測試了下:

正常的代碼編輯器也能顯示!
從上面的測試代碼可以看出,我加了個(gè) >=,所以不僅限于不等于,更多的符號可以通過切換這個(gè)開關(guān)來看下。
關(guān)閉開關(guān),原生顯示:

打開開關(guān),代替顯示:

我現(xiàn)在再把測試代碼復(fù)制出來:
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ù)制出來還是正常的語法的。
總結(jié)
好了,今天棧長給大家分享了 IDEA 的這個(gè) Font Ligatures 開關(guān),也不知道 IDEA 是在哪個(gè)版本中搞了這個(gè)默認(rèn)開關(guān),真是讓人無語。。
這個(gè)感覺就和 IDEA 中的智能顯示如出一轍:

如上所示,因?yàn)?Java 7 以上泛型類型能夠自動推斷,如果集合接口帶了泛型,集合實(shí)現(xiàn)又帶了泛型,那么集合實(shí)現(xiàn)的泛型會被折疊成 ~ 顯示,鼠標(biāo)放上去或者點(diǎn)擊它就會顯示原生代碼,并且還能提示你集合實(shí)現(xiàn)中的泛型是多余的。
但是很無語,像不等于符號這種卻不能點(diǎn)擊/懸浮顯示原生符號,需要一個(gè)硬開關(guān)。
總之,我覺得這個(gè)東西的存在根本就沒鳥用,也不是很建議大家使用,最終我就默默地把所有的 Font Ligatures 開關(guān)都關(guān)閉了,不然會混淆視聽。
當(dāng)然,蘿卜白菜各有所愛,有喜歡這種顯示方式的那就是真香定律了。
IDEA 香是香,可能你會說用它要收費(fèi),其實(shí)它也有開源的社區(qū)版本,收費(fèi)的專業(yè)版也很容易申請到激活碼,關(guān)注公眾號Java技術(shù)棧,回復(fù):IDEA,可以閱讀我分享過的獲取正版 IDEA 激活碼的教程,很多粉絲都反饋說輕松得到了,感興趣的都可以去申請,不能太容易了。
最后,如果本文對你有幫助,點(diǎn)個(gè)在看鼓勵(lì)一下哦!也歡迎分享轉(zhuǎn)發(fā)給更多有需要的朋友~
你還遇到過哪些 IDEA 奇奇怪怪的問題?歡迎分享~
版權(quán)申明:本文系公眾號 "Java技術(shù)棧" 原創(chuàng),原創(chuàng)實(shí)屬不易,轉(zhuǎn)載、引用本文內(nèi)容請注明出處,禁止抄襲、洗稿,請自重,尊重大家的勞動成果和知識產(chǎn)權(quán),抄襲必究。
以上就是Java 中的 xx ≠ null 是什么新語法?的詳細(xì)內(nèi)容,更多關(guān)于Java xx ≠ null 的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Springboot中如何通過yml為實(shí)體類注入屬性
這篇文章主要介紹了Springboot中如何通過yml為實(shí)體類注入屬性,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05
Springboot項(xiàng)目實(shí)現(xiàn)Mysql多數(shù)據(jù)源切換的完整實(shí)例
這篇文章主要給大家介紹了關(guān)于Springboot項(xiàng)目實(shí)現(xiàn)Mysql多數(shù)據(jù)源切換的完整實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
Java設(shè)計(jì)模式之中介模式(Mediator模式)介紹
這篇文章主要介紹了Java設(shè)計(jì)模式之中介模式(Mediator模式)介紹,本文講解了為何使用Mediator模式、如何使用中介模式等內(nèi)容,需要的朋友可以參考下2015-03-03
Java基于面向?qū)ο髮?shí)現(xiàn)一個(gè)戰(zhàn)士小游戲
這篇文章主要為大家詳細(xì)介紹了Java如何基于面向?qū)ο髮?shí)現(xiàn)一個(gè)戰(zhàn)士小游戲,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以動手嘗試一下2022-07-07
SpringBoot配置文件導(dǎo)入方法詳細(xì)講解
Spring Boot雖然是Spring的衍生物, 但默認(rèn)情況下Boot是不能直接使用Spring的配置文件的, 我們可以通過兩種方式導(dǎo)入Spring的配置2022-10-10
Java開發(fā)SSM框架微信支付的實(shí)現(xiàn)
這篇文章主要介紹了Java開發(fā)SSM框架微信支付的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-10-10

