Java 使用IntelliJ自动替换为var
我正在迁移一些Java 10之前的代码,我想知道IntelliJ是否提供了一种自动重构代码的方法,以尽可能地将使用实际类型的变量声明替换为var 代码中充满了如下内容:Java 使用IntelliJ自动替换为var,java,intellij-idea,Java,Intellij Idea,我正在迁移一些Java 10之前的代码,我想知道IntelliJ是否提供了一种自动重构代码的方法,以尽可能地将使用实际类型的变量声明替换为var 代码中充满了如下内容: String status = "empty"; BigDecimal interest = BigDecimal.ZERO; List<Future<Boolean>> results = es.invokeAll(tasks); LocalDate start = LocalDat
String status = "empty";
BigDecimal interest = BigDecimal.ZERO;
List<Future<Boolean>> results = es.invokeAll(tasks);
LocalDate start = LocalDate.of(2020, 1, 1);
我已经查看了IntelliJ设置(代码样式/检查),但找不到任何内容。使用IntelliJ
编辑->查找->替换…
选项
或Ctrl+R
File | Settings
,在那里选择Editor | Inspections
,然后在Java | Java语言级迁移辅助工具| Java 10
下
局部变量类型可以省略
,然后选择弱警告或类似选项
将显式类型替换为“var”
移到右侧,然后选择修复文件中的所有“局部变量类型可以忽略”问题
感谢@olga klisho的建议(在评论中)你为什么要这么做?我对“var”的理解是,它旨在使新代码更易于编写,但您对重构现有代码以使用它有何期望?新的部分使用var,我更喜欢它。我想在整个项目中保持一致的风格。不过,新部件是否在任何地方都使用
var
?我认为这通常取决于您是否应该使用它,例如,MyComplexType bla=create()
比var bla=create()
提供了更多的信息。关于旧代码的一点是,您更经常地阅读它,并且不想在这种情况下猜测类型。因此,没有好办法知道是否使用var
,也没有办法自动化这些选择。可以省略局部变量类型(可以省略Java | Java语言级迁移辅助工具| Java 10 |局部变量类型)。它提供了“fixall”修复程序,有助于将文件中的类型更改为var。Olga Klisho,这正是我想要的。你能把你的意见写在回答中,这样我就可以接受了吗?
var status = "empty";
var interest = BigDecimal.ZERO;
var results = es.invokeAll(tasks);
var start = LocalDate.of(2020, 1, 1);