在Java/Eclipse中推断变量类型,比如C#的"var"

Ric*_*ich 5 java eclipse shortcuts var function

我喜欢来自C#的"var"和来自Groovy的"def",我发现在Java中写出类型是一种痛苦.

说我写的代码如下:

List<LongTypeName> results = new ArrayList<LongTypeName>();
Run Code Online (Sandbox Code Playgroud)

要么

Map<TypeNameOne,TypeNameTwo> someLookup = fetchMeMyLookup();
Run Code Online (Sandbox Code Playgroud)

在Java + Eclipse中完成这项工作的最简单方法是什么?

我特别感兴趣的是我不能100%确定当我开始这条线时的类型.

我当前的策略是始终将变量声明为"int",然后返回到行的开头并执行"ctrl-1",并接受Eclipse推断的类型.还有更好的选择吗?

我喜欢的是能够键入"def"或"var"并让Eclipse自动将其更正为正确的类型,只要它能够解决它.

(也许我应该只是在Groovy中编程)

Rob*_*anu 5

  1. 类型 new ArrayList<LongTypeName>();
  2. 键入Ctrl+2+L以创建新的局部变量

两种类型都是"活动的" - 您可以通过选项循环选择它们.在这个例子中,这个名字的建议是列表数组列表和类型的建议都是可能的接口和超类ArrayList<String>,: List<String,Collection<String>等等.

截图

  • 你实际上不需要第2步; `Ctrl-2 l`只需将光标定位在分号后面(或实际上,在语句中的任何位置). (2认同)

Jon*_*eet 5

类型:

someLookup = fetchMeMyLookup();
Run Code Online (Sandbox Code Playgroud)

然后单击someLookup并按Ctrl + 1快速修复"创建局部变量some​​Lookup"