繁体   English   中英

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

[英]Infer variable type in Java / Eclipse, like C#'s “var”

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

说我写的代码如下:

List<LongTypeName> results = new ArrayList<LongTypeName>();

要么

Map<TypeNameOne,TypeNameTwo> someLookup = fetchMeMyLookup();

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

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

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

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

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

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

两种类型都是“活动的” - 您可以通过选项循环选择它们。 在此示例中,名称提议是listarrayList ,类型提议是ArrayList<String> ,: List<StringCollection<String>等所有可能的接口和超类。

截图

类型:

someLookup = fetchMeMyLookup();

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

Java 10引入了局部变量的类型推断。 您现在可以使用特殊(保留)类型名称var ,例如:

var results = new ArrayList<LongTypeName>();

var someLookup = fetchMeMyLookup();

有关详细信息,请参阅JEP 286

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM