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技术栈" 原创,原创实属不易,转载、引用本文内容请注明出处,禁止抄袭、洗稿,请自重,尊重大家的劳动成果和知识产权,抄袭必究。

以上就是Java 中的 xx ≠ null 是什么新语法?的详细内容,更多关于Java xx ≠ null 的资料请关注179885.Com其它相关文章!

猜你在找的Java 中的 xx ≠ null 是什么新语法相关文章

Java中null是一个关键字,用来标识一个不确定的对象。因此可以将null赋给引用类型变量,但不可以将null赋给基本类型变量。本文给大家分享Java 中的 xx ≠ null 是什
本文将结合实例代码,介绍SpringBoot+Redis实现后端接口防重复提交校验的示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
CompletableFuture是java8提供的基于异步操作的封装,日常开发中经常会用到,接下来通过本文给大家介绍Java8 CompletableFuture 异步执行操作,感兴趣的朋友一起看看吧
今天带大家学习的是关于Java进阶的相关知识,文章围绕着Java泛型机制与反射原理展开,文中有非常详细的介绍及代码示例,需求的大佬可以参考下
了解决eclipse启动tomcat时不能加载web项目的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架
了Spring Security之默认的过滤器链及自定义Filter操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
JNI是Java Native Interface的缩写,通过使用 Java本地接口书写程序,可以确保代码在不同的平台上方便移植。从Java1.1开始,JNI标准成为java平台的一部分,它允许Java代
今天给大家带来的是关于Java虚拟机的相关知识,文章围绕着JVM堆区展开,文中有非常详细的介绍及代码示例,需求的大佬可以参考下
本篇总结的是Java多线程相关的面试题,后续会持续更新,希望我的分享可以帮助到正在备战面试的实习生或者已经工作的同行,如果发现错误还望大家多多包涵,不吝赐教,谢谢
Spring为大家内置了不少开箱即用的转换类,如字符串转数字、字符串转时间等,但有时候需要使用自定义的属性,则需要自定义转换类了
今天给大家带来的是关于Java的相关知识,文章围绕着在没有编辑器的环境下如何创建Servlet(Tomcat+Java)项目展开,文中有非常详细的介绍及代码示例,需求的大佬可以