【发布时间】:2020-10-22 12:15:33
【问题描述】:
我正在迁移一些 Java 10 之前的代码,我想知道 IntelliJ 是否提供了一种自动重构代码的方法,以用 var 尽可能地。
代码中充满了类似的东西:
String status = "empty";
BigDecimal interest = BigDecimal.ZERO;
List<Future<Boolean>> results = es.invokeAll(tasks);
LocalDate start = LocalDate.of(2020, 1, 1);
我更喜欢:
var status = "empty";
var interest = BigDecimal.ZERO;
var results = es.invokeAll(tasks);
var start = LocalDate.of(2020, 1, 1);
我已经查看了 IntelliJ 的设置(代码样式/检查),但找不到任何东西。
【问题讨论】:
-
你为什么要这么做?我对“var”的看法是,它旨在使新代码更易于编写,但您对重构现有代码以使用它有何期望?
-
新部分使用var,我更喜欢它。我想在整个项目中保持一致的风格。
-
新部件是否到处都使用
var?我认为这通常取决于您是否应该使用它,例如MyComplexType bla = create()比var bla = create()给了我更多的信息。旧代码的问题是您阅读它的频率更高,并且不想在这种情况下猜测类型。所以没有好办法知道是否使用var,也没有办法自动化这些选择。 -
您可以使用检查 局部变量类型可以省略(Java | Java 语言级迁移辅助工具 | Java 10 | 局部变量类型可以省略)。它提供了“修复所有”修复,这将有助于将文件中的类型更改为 var。
-
Olga Klisho,这正是我想要的。您可以将您的评论放在答案中以便我接受吗?
标签: java intellij-idea