IntelliJ IDEA 在 JAVA 中使用 += 时给变量加下划线

由于新的更新 (2018.2) IntelliJ IDEA 强调变量,当它们“不必要地”重新分配时 - 然而,这包括每次使用“+=”。
这是IDE中的错误还是我弄错了?
请以这个基本方法为例。(它只是添加了一个数字列表。)

http://img3.mukewang.com/60dc2a1100014da105080161.jpg

湖上湖
浏览 495回答 3
3回答

慕尼黑的夜晚无繁华

这是 IntelliJ IDEA 2018.2的一个新特性:下划线重新分配的局部变量和重新分配的参数默认情况下,IntelliJ IDEA 现在强调重新分配的局部变量和重新分配的参数。支持此功能的所有语言(目前包括 Java 和 Groovy)的属性都可以在Preferences/Settings | 中更改。编辑 | 配色方案 | 语言默认值 | 标识符 | 重新分配。为什么它可能有用?如果变量/参数有下划线,您就知道不能直接在 lambda/匿名类中使用它。在阅读很长的方法代码时,如果参数没有下划线,您肯定知道它的值不会在此方法的任何地方重新分配,并且它包含在任何时候传递给此方法的完全相同的值。一些代码指南反对重新分配变量,您可能希望尽可能避免使用它们以保持代码干净并使其更易于阅读/调试。如今,许多开发人员更喜欢避免可变状态,并且仅在真正必要的极少数情况下才重新分配变量。我们不想手动强制执行不变性,我们假设默认情况下一切都是不可变的,并且希望在某些情况下引起额外的注意。如果您使用final标记非可变变量,则意味着您需要为常规情况编写更多代码,在特殊情况下编写更少代码。(顺便说一句,现代语言中声明不可变变量不需要编写额外的代码,但不幸的是在 Java 中不需要)。Java 语言架构师 Brian Goetz 也喜欢 IntelliJ IDEA 突出显示重新分配的变量的方式(请参阅他的推文)。

明月笑刀无情

如果您知道编程的副作用是什么,那么对您来说就很容易了。为了保护您的变量免受副作用的影响,IDE 会显示下划线作为对您的警告。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java