8

我当前的系统(MacOS 10.10.5)配置是:

IntelliJ IDEA 2017.2.2
#Built on 9August,2017

java version "9"
Java(TM) SE Runtime Environment (build 9+181)

每次我开始从事一个项目(目前是 1.8.0_65)并使用

List<String> example = new ArrayList<>(); 

=> 如果我点击自动建议的提示List=> 导入类

引入的默认导入语句是

import com.sun.tools.javac.util.List;

虽然我希望它是:

import java.util.List;

有没有我可以纠正的配置,或者这是我正在使用的组合中的一些错误?想知道哪些设置优先于sun包而不是java包?

注意:是否已经通过任何方式(或快捷方式)的答案来自动导入 IntelliJ IDEA 中的类,就像在 Eclipse 中一样?但是我输入时得到的选项List不包括java.util我的情况。

编辑:导入java.util.List没有丢失,我可以手动导入相同的。

4

2 回答 2

15

我有一个这样的问题,java.util.Arrays没有出现在完成列表中。原来我以某种方式将其添加到导入和完成排除列表中。我的手指一定在某个时候滑入了一个快速动作弹出窗口。

也许同样的事情也发生在你身上。打开您的设置对话框并在此处找到您的方式:

设置 > 编辑器 > 常规 > 自动导入

然后,查找此排除导入列表:

从导入和完成中排除

查看是否java.util.List显示在该列表中,如果是,请将其删除。

java.util.List排除后,可能com.sun.tools.javac.util.ListList您的类路径中唯一的其他类型。如果您启用了“动态添加明确的导入”选项,IntelliJ 会在sun不询问的情况下导入该类。

于 2017-09-07T18:57:59.623 回答
1

我不认为有这样的选择来更喜欢一个包而不是另一个包来导入类。

相反,您可以com.sun.tools.javac.util.List从自动导入中排除。为此,在Class to Import窗口中,单击右侧的箭头,然后Exclude com.sun... from auto-import排除自动导入弹出窗口

之后,java.util.List应该是首选导入。如果稍后您需要删除一些排除的导入,您可以转到首选项编辑器常规自动导入来找到它们。

于 2017-09-02T10:43:48.860 回答