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

发布于 2024-12-10 21:06:03 字数 535 浏览 1 评论 0 原文

我喜欢 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 编程)

I like "var" from C# and "def" from Groovy, and I find writing out types in Java to be a pain.

Say I'm writing code like:

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

or

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

What's the easiest way to get this done in Java + Eclipse?

I'm especially interested in the case where I'm not 100% sure what the type will be when I start the line.

My current strategy is to always declare variables as "int", then go back to the start of the line and do "ctrl-1", and accept the type that Eclipse has inferred. Is there any better alternative?

What I would love is to be able to type "def" or "var" and have Eclipse auto-correct this to the correct type as soon as it can figure it out.

(Maybe I should just be programming in Groovy)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

躲猫猫 2024-12-17 21:06:03
  1. 输入 new ArrayList();
  2. 输入 Ctrl+2+L 创建一个新的局部变量

两种类型类型都是“活动的” - 您可以循环浏览它们通过选择。在此示例中,名称建议是 listarrayList,类型建议是 ArrayList 的所有可能接口和超类,:<代码>列表<字符串,<代码>集合<字符串>

  1. Type new ArrayList<LongTypeName>();
  2. Type Ctrl+2+L to create a new local variable

Both type type are 'active' - you can tab through them an cycle through selections. In this example, the name proposals are list and arrayList and the type proposals are all possible interfaces and superclasses of ArrayList<String>, : List<String, Collection<String> etc.

screenshot

拍不死你 2024-12-17 21:06:03

输入:

someLookup = fetchMeMyLookup();

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

Type:

someLookup = fetchMeMyLookup();

Then click on someLookup and hit Ctrl+1 for the quick fix of "Create local variable someLookup"

拥抱我好吗 2024-12-17 21:06:03

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

var results = new ArrayList<LongTypeName>();

var someLookup = fetchMeMyLookup();

请参阅 JEP 286了解详情。

Java 10 has introduced type inference for local variables.
You may now use the special (reserved) type name var, e.g.:

var results = new ArrayList<LongTypeName>();

var someLookup = fetchMeMyLookup();

See JEP 286 for details.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文