1. 程式人生 > 其它 >臥槽!Java 中的 xx ≠ null 是什麼新語法?

臥槽!Java 中的 xx ≠ null 是什麼新語法?

奇怪的不等於(≠)

最近,棧長用 IntelliJ IDEA 看原始碼時發現:

咦~這是什麼鬼?

Java 不等於的寫法不是一直都是 != 麼?什麼時候可以寫 了??

不科學啊~

以為我是老花眼了,認真看了幾遍,覺得應該是 IDEA 的特效吧,然後去點那個符號,發現也還原不了原樣。。。

然後網際網路網衝浪了一翻,終於被我找到了這個開關:

Preferences > Editor > Reader Mode > Font ligatures

Reader Mode: 用於只讀模式的編輯器設定。

Font ligatures: ligatures 是 "繩索“、”繃帶" 的意思,Font ligatures 不就是可以理解為 "字型繃帶" 麼,所以 !=

被顯示成 就不奇怪了。

取消這個開關後,再來看下上面的原始碼:

終於恢復正常了,這樣看得才舒服。。

Ligatures擴充套件

話說在原始碼中可以把 != 被顯示成 ,那在正常的程式碼編輯器應該也能顯示吧?

沒錯!!

棧長在設定選單中根據 "ligatures" 搜尋,發現有好幾處設定 Font ligatures 的地方:

然後開啟這個選項:

Preferences > Editor > Font > Enable font ligatures

棧長隨便寫了些程式碼測試了下:

正常的程式碼編輯器也能顯示!

從上面的測試程式碼可以看出,我加了個 >=,所以不僅限於不等於,更多的符號可以通過切換這個開關來看下。

關閉開關,原生顯示:

開啟開關,代替顯示:

我現在再把測試程式碼複製出來:

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);
        }
    }
}

可以看到,顯示歸顯示,程式碼複製出來還是正常的語法的。

總結

好了,今天棧長給大家分享了 IDEA 的這個 Font Ligatures 開關,也不知道 IDEA 是在哪個版本中搞了這個預設開關,真是讓人蛋疼。。

這個感覺就和 IDEA 中的智慧顯示如出一轍:

如上所示,因為 Java 7 以上泛型型別能夠自動推斷,如果集合介面帶了泛型,集合實現又帶了泛型,那麼集合實現的泛型會被摺疊成 ~ 顯示,滑鼠放上去或者點選它就會顯示原生程式碼,並且還能提示你集合實現中的泛型是多餘的。

但是很無語,像不等於符號這種卻不能點選/懸浮顯示原生符號,需要一個硬開關。

總之,我覺得這個東西的存在根本就沒鳥用,也不是很建議大家使用,最終我就默默地把所有的 Font Ligatures 開關都關閉了,不然會混淆視聽。

當然,蘿蔔白菜各有所愛,有喜歡這種顯示方式的那就是真香定律了。

IDEA 香是香,可能你會說用它要收費,其實它也有開源的社群版本,收費的專業版也很容易申請到啟用碼,關注公眾號Java技術棧,回覆:IDEA,可以閱讀我分享過的獲取正版 IDEA 啟用碼的教程,很多粉絲都反饋說輕鬆得到了,感興趣的都可以去申請,不能太容易了。

最後,如果本文對你有幫助,點個在看鼓勵一下哦!也歡迎分享轉發給更多有需要的朋友~

你還遇到過哪些 IDEA 奇奇怪怪的問題?歡迎分享~

版權申明:本文系公眾號 "Java技術棧" 原創,原創實屬不易,轉載、引用本文內容請註明出處,禁止抄襲、洗稿,請自重,尊重大家的勞動成果和智慧財產權,抄襲必究。

近期熱文推薦:

1.1,000+ 道 Java面試題及答案整理(2021最新版)

2.終於靠開源專案弄到 IntelliJ IDEA 啟用碼了,真香!

3.阿里 Mock 工具正式開源,幹掉市面上所有 Mock 工具!

4.Spring Cloud 2020.0.0 正式釋出,全新顛覆性版本!

5.《Java開發手冊(嵩山版)》最新發布,速速下載!

覺得不錯,別忘了隨手點贊+轉發哦!