如何制作IntelliJ折叠变量类型?

时间:2014-11-09 11:42:02

标签: java intellij-idea

习惯于提供类型推断的语言(C ++,Scala),我发现这样的代码难以阅读:

ClassWriter classWriter = new ClassWriter(0);

重复类型。有没有办法让IntelliJ折叠变量的类型,以便我可以这样读写:

var classWriter = new ClassWriter(0);

但它实际上将其作为ClassWriter classWriter = new ClassWriter(0);存储在磁盘上?

2 个答案:

答案 0 :(得分:9)

高级Java折叠插件(由JetBrains提供)为变量声明添加折叠等。

https://plugins.jetbrains.com/idea/plugin/9320-advanced-java-folding

答案 1 :(得分:0)

不,你不能这样做,而且由于以下原因,这可能不是一个好主意。

使用java,通常会实例化一个具体的实现类型,并通过抽象类型引用它。

例如:

List<String> myList = new ArrayList<String>();

在这种情况下,如果你可以写var myList = new ArrayList<String>(); - 实际上myList是什么类型的?是List<String>还是ArrayList<String>

强类型是java的核心,上面的例子说明了原因。

Java 7对此有所改进,其中参数化类型的可读性可以使用菱形:

List<String> myList = new ArrayList<>();

无论如何,我建议只是尝试习惯这种“java方式”。