天天看點

Java 中的 xx ≠ null 是什麼新文法?

Java 中的 xx ≠ null 是什麼新文法?

咦~這是什麼鬼?

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

不科學啊~

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

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

Preferences > Editor > Reader Mode > Font ligatures

Java 中的 xx ≠ null 是什麼新文法?

Reader Mode: 用于隻讀模式的編輯器設定。

Font ligatures: ligatures 是 “繩索“、”繃帶” 的意思,Font ligatures 不就是可以了解為 “字型繃帶” 麼,是以 != 被顯示成 ≠ 就不奇怪了。

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

Java 中的 xx ≠ null 是什麼新文法?

終于恢複正常了,這樣看得才舒服。。

Ligatures擴充

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

沒錯!!

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

Java 中的 xx ≠ null 是什麼新文法?

然後打開這個選項:

Preferences > Editor > Font > Enable font ligatures

棧長随便寫了些代碼測試了下:

Java 中的 xx ≠ null 是什麼新文法?

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

從上面的測試代碼可以看出,我加了個 >=,是以不僅限于不等于,更多的符号可以通過切換這個開關來看下。

關閉開關,原生顯示:

Java 中的 xx ≠ null 是什麼新文法?

打開開關,代替顯示:

Java 中的 xx ≠ null 是什麼新文法?

我現在再把測試代碼複制出來:

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 中的 xx ≠ null 是什麼新文法?

如上所示,因為 Java 7 以上泛型類型能夠自動推斷,如果集合接口帶了泛型,集合實作又帶了泛型,那麼集合實作的泛型會被折疊成 ~ 顯示,滑鼠放上去或者點選它就會顯示原生代碼,并且還能提示你集合實作中的泛型是多餘的。

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

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

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

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

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

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

版權申明:本文系公衆号 “Java技術棧” 原創,原創實屬不易,轉載、引用本文内容請注明出處,禁止抄襲、洗稿,請自重,尊重大家的勞動成果和知識産權,抄襲必究。