【问题标题】:Arraylist auto complete in eclipseArraylist在eclipse中自动完成
【发布时间】:2023-04-08 11:17:01
【问题描述】:

我正在使用 eclipse,最近我的 arraylist 自动完成由于某种原因发生了变化。

在输入:ArrayList <String> myArrayList = new 后,它通常会自动完成该行到:ArrayList<String> myArrayList = new ArrayList<>();,但现在当我这样做时,它会自动完成到:ArrayList<String> myArrayList = new ArrayList();(没有 <>)。 有谁知道如何修理它?我需要改变eclipse中的东西吗?还是jdk中的东西/类似的东西? 谢谢。

编辑 - 由于某种原因它没有显示完整的代码,我确实将数组列表的类型定义为字符串,所以这不是问题。

Image

Image

【问题讨论】:

  • 输入 new 后是否调用 ctrl + 空格?如果是这样,您能否附上它带来自动完成的项目选择的屏幕截图?
  • imgur.com/a/QFvHj 这里有两张自动完成的截图。
  • 链接无法访问。你能把图片附在问题上吗?
  • 我将它添加到主要问题中。
  • 我已经做到了,但只是想知道,我现在也注意到它在尝试使用 LinkedList 时也是如此……它仍然没有在应该的位置添加 。有什么想法吗?

标签: eclipse arraylist autocomplete


【解决方案1】:

ArrayList<>(被称为Diamond),当编译器可以“推断”出这个类型时才有效。

考虑一下

ArrayList<String> a = new ArrayList<>();

这里这个“钻石”被称为字符串。

但是当您执行原始ArrayList 时,编译器不会进行类型检查,这可能会导致大型应用程序中出现严重的错误和崩溃。泛型旨在减少错误。

【讨论】:

  • 对此我感到非常抱歉,但我现在意识到,由于站点功能,它删除了 行,所以这不是问题,我确实定义了 arraylist 类型,还有什么问题可能是什么?谢谢。
  • 你说你确实定义了arraylist类型?这意味着它不是标准的 ArrayList 吗?如果是这样,那么您没有将其定义为泛型类型class ArrayList&lt;T&gt;: List&lt;T&gt; { ... }
  • 这是一个标准的 ArrayList,这就是问题所在。是我的 java 文件有问题吗?还是与日食有关?
【解决方案2】:

尝试在构造函数中初始化 ArrayList(或作为类变量): ArrayList myArrayList = new ArrayList()

当你需要添加到这个数组列表时,只需使用 myArrayList.add()

【讨论】:

    猜你喜欢
    • 2017-06-03
    • 2011-07-20
    • 1970-01-01
    • 2010-10-30
    • 2015-02-16
    • 2011-02-12
    • 1970-01-01
    • 2012-04-03
    • 1970-01-01
    相关资源
    最近更新 更多