gpt4 book ai didi

java - 让 Eclipse 自动静态导入类

转载 作者:行者123 更新时间:2023-12-02 01:15:01 26 4
gpt4 key购买 nike

当我创建 JUnit 测试时,Eclipse 会自动为我导入 assertEquals

在我当前的代码中,我经常编写如下语句:

Arrays.stream(columns).collect(toCollection(ArrayList::new));

Eclipse 提示缺少 toCollection():

The method toCollection(ArrayList::new) is undefined for the type ...

当我手动添加 import static java.util.stream.Collectors.toCollection; import 时,至少此警告消失了。但我收到一个新警告:

The import java.util.stream.Collectors.toCollection is never used

所以基本上我有两个问题:

  • 有没有一种方法可以自动添加静态导入,而无需手动干预,就像 Eclipse 能够在assertEquals 的情况下为我做的那样?
  • 是否有(除了添加@SuppressWarning)一种方法可以消除有关未使用的导入的第二个警告?

如果这很重要:我使用当前版本的 STS 4.4.1

最佳答案

要以与 assertEquals 相同的方式导入静态方法,请将其类添加到以下位置的列表中:窗口 -> 首选项 -> Java -> 编辑器 -> 内容辅助 -> Collection 夹。

当您开始输入时,Eclipse 将建议这些类的静态方法。

关于未使用的导入:我在 Eclipse 中没有看到这种行为。相反,与导入静态java.util.stream.Collectors.toCollection;以及我的代码中对 toCollection 的一些使用,例如:...collect(toCollection(ArrayList::new)),没有警告。

注意:如果 toCollection 与其类一起引用,例如:...collect(Collectors.toCollection(ArrayList::new)),然后 Eclipse 会针对 toCollection 的静态导入生成警告。这是正确的,因为确实没有使用导入(而是使用 Collectors 类的导入来解析类和方法)。难道是这样吗?

关于java - 让 Eclipse 自动静态导入类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58823434/

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