gpt4 book ai didi

java - eclipse 警告 : unchecked conversion vs redundant specification of type arguments

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:26:11 28 4
gpt4 key购买 nike

我最近刚从 JDK1.6 切换到 JDK 1.7。

我有这个代码:

SomeClass<SomeType> someVariable = new SomeClass<SomeType>(createSomeObject());

现在我收到警告:

Redundant specification of type arguments <SomeType>

如果我使用快速修复 Eclipse 给我这个:

SomeClass<SomeType> someVariable = new SomeClass<>(createSomeObject());

结果是

Got an exception - expecting EOF, found 'xyz'

xyz 是我的代码文本中的下一项。

当我删除尖括号时,我收到此警告:

SomeClass is a raw type. References to generic type SomeClass<M> should be parameterized

如果我添加类型参数,我会得到第一个警告(冗余规范...)

WTF正在进行中?

我想保留这两个警告并且我仍在使用 Eclipse 3.7.1。如果有另一种方法可以解决这个问题,我不愿意更新我的 Eclipse,因为我需要一些时间来重新按照我想要的方式配置它。

最佳答案

Redundant specification of type arguments <SomeType>

来自 Java 7 的 type inference mechanism .指定泛型类型两次确实是多余的,因为编译器可以凭直觉简单地从中推断出你需要什么

SomeClass<SomeType> someVariable = new SomeClass<>(createSomeObject());

因此您不需要在声明和定义中都使用通用类型(类型推断可以更进一步 - 例如,使用 Scala,您只需将 LHS 声明为 valvar ,并且编译器知道它真正需要的类型)。

关于java - eclipse 警告 : unchecked conversion vs redundant specification of type arguments,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14829557/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com