zoukankan      html  css  js  c++  java
  • 卧槽!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开发手册(嵩山版)》最新发布,速速下载!

    觉得不错,别忘了随手点赞+转发哦!

  • 相关阅读:
    Hbase数据备份&&容灾方案
    maven 高级玩法
    Python操作MySQL -即pymysql/SQLAlchemy用法
    python
    Redis的AOF功能
    Redis的快照功能
    查看哪些进程占用了SWAP分区?
    Java进程CPU使用率高排查
    利用iptables实现基于端口的网络流量统计
    从free命令看Linux内存管理
  • 原文地址:https://www.cnblogs.com/javastack/p/14918575.html
Copyright © 2011-2022 走看看