2

在我的 java 类中有多个导入,如下所示。

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

我的问题是声纳报告在Import Order类别下讲述轻微违规行为。

'java.util.ArrayList' 导入的顺序错误。

它究竟意味着什么以及如何解决这种声纳违规行为。

提前致谢。

4

6 回答 6

1

孤立并没有错import java.util.ArrayList——它只是碰巧是第一个违反规则的。您的问题的完整答案将需要显示您的所有导入。最可能的原因是导入组排序。

于 2012-08-16T10:07:03.513 回答
1

我知道我在这里聚会迟到了,但这可以帮助其他人。

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

上面没有违反规则,因为它按字母顺序排序,你会得到“'java.util.'的错误顺序。进口。” 当这些导入中的任何一个位于其他导入之间而没有正确的排序顺序时。例如:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

由于进口没有很好地排序,上述规则违反了规则。要解决这个问题,只需将“java.util”导入移到“org.slf4j”导入上方。有一些像:

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

此外,除了字母排序之外,似乎还有一个关于如何安排导入的顺序。

  1. 静态导入
  2. 从同一项目中的其他包导入
  3. 从 java 导入
  4. 从框架导入
  5. 所有其他进口
于 2021-01-01T23:49:22.587 回答
1

根据我的经验,一个包中的类必须按字母顺序排序。因此,查看位于 ArrayList 之前的类并参考 java.util 包(如果有的话)。在我的情况下,它应该如下:

import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
于 2016-10-24T16:23:23.917 回答
0

如果您使用的是 eclipse,请尝试Ctrl+Shift+O修复导入。

另请参阅此问题

于 2012-08-16T09:57:52.357 回答
0

import 语句的顺序与编译器或 JVM 无关。这只是一种编码风格偏好。import some.package.*就个人而言,如果我对特定包使用超过 3 个类,我喜欢使用它。

于 2012-08-16T10:15:09.463 回答
-2

将 ArrayList 导入放在 List 导入之后。

于 2012-08-16T09:54:18.143 回答