关于java:卧槽IntelliJ-IDEA-居然偷偷改代码

39次阅读

共计 1261 个字符,预计需要花费 4 分钟才能阅读完成。

问题

要疯了,IDEA 竟然主动批改代码?

明明我曾经批改保留了,怎么测试都不行,起初我查看一看,并通过复现,发现,代码被 IDEA 主动改了。。

如上面动图所示:

原本是 类. 办法 ,我改成了 实例. 办法 调用了

原来,每次当我保留完之后,代码又还原了,太诡异了。。

这样一来,那我的实例对象不是没用到?又间接拜访类的静态方法了。。

定位

看到上图,栈长忽然眉头一皱; 计上心来,这让我想起了之前分享过的《IntelliJ IDEA 2021.2 公布,这次要干掉 FindBugs 了!》这篇文章中的新性能:保留时动作,即能够在保留的时候执行代码优化操作,不必去逐个查看优化了,保留时就能做到。

更多 IDEA 教程,能够关注公众号:Java 技术栈,我分享了一大堆了,关注后在菜单中就能够浏览。

如下图设置所示:

我的确开启了各项保留时动作,其中我就勾选了一个 主动清理修复 的选项。

而后在 Inspections 菜单中:

通过实例对象拜访动态成员的正告也是关上的,意思就是不容许 / 不倡议通过实例对象拜访动态成员。

所以,我猜想可能就是保留时的清理动作触发了这条规定,而后就被主动优化了。

所以,我把它先勾销勾选:

而后再测试下:

当初通过实例对象拜访静态方法,再保留,实例对象不再被替换为类了,失效了,就是能够容许通过实例. 动态成员这种调用形式了。

同时我也发现 Spring Boot 这个启动 run 办法也是提供了一般办法版本的,传入 args 即可,这样就不是动态调用了。当初再把那个选项再次勾选上:

如图,它再也不会被替换为类的调用了,因为它调用的就是一般办法。

总结

IDEA 的一个小优化,的确把我折腾了一翻,IDEA 真的太智能了,有时候帮你优化了,你可能还不晓得,这个的确要值得注意!!

其实通过 实例. 动态成员 这种拜访模式,语法上是能够的,但不倡议,动态成员毫无疑问是类级别的,天然须要通过类来调用,所以,我倡议那个选项也不要勾销勾选,默认的就是合乎失常规定的。

好了,解决了这个纳闷,当初又能够持续欢快的写代码了。。

其实 IDEA 也有开源的社区版本,免费的专业版也很容易申请到收费激活码,能够参考教程:

http://www.javastack.cn/article/2020/intellij-idea-by-open-source-project/

也能够关注公众号 Java 技术栈,回复:IDEA,浏览我分享过的获取正版 IDEA 激活码的教程,很多粉丝都反馈说轻松失去了,感兴趣的都能够去申请,不能太容易了。

关注我,前面栈长会持续分享 IDEA 系列教程,带你买通 IDEA 的任督二脉!

版权申明: 本文系公众号 “Java 技术栈 ” 原创,转载、援用本文内容请注明出处,剽窃、洗稿一律投诉侵权,后果自负,并保留追究其法律责任的权力。

近期热文举荐:

1.1,000+ 道 Java 面试题及答案整顿(2022 最新版)

2. 劲爆!Java 协程要来了。。。

3.Spring Boot 2.x 教程,太全了!

4.20w 程序员红包封面,快快支付。。。

5.《Java 开发手册(嵩山版)》最新公布,速速下载!

感觉不错,别忘了顺手点赞 + 转发哦!

正文完
 0