习惯于提供类型推断的语言(C ++,Scala),我发现这样的代码难以阅读:
ClassWriter classWriter = new ClassWriter(0);
重复类型。有没有办法让IntelliJ折叠变量的类型,以便我可以这样读写:
var classWriter = new ClassWriter(0);
但它实际上将其作为ClassWriter classWriter = new ClassWriter(0);
存储在磁盘上?
答案 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方式”。