0

我使用如下大规模导入类组:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import java.io.*;
import java.text.*;
import java.util.regex.*;

这样我就不必担心遗漏任何课程。

然后当我使用List我得到这个错误:

引用List不明确,class java.util.Listinjava.util 和 class java.awt.Listin 都java.awt匹配

我该如何解决?有没有办法驱逐其中一个班级?哪一个更好?

4

4 回答 4

3

您将需要在整个类文件中使用它们的完全限定名称java.util.List和来引用这些类型。java.awt.List

这将消除这两个Lists 的歧义,因此严格来说不必“驱逐”任何东西(您的import陈述可以保持不变)。但是,我确实同意您整理进口的其他答案的建议。

如果其中一个Lists“驱逐出境”,那么您可以List通过它的简称来引用另一个。

于 2012-06-03T06:04:42.300 回答
2

首先,你不应该像那样导入整个包。您应该只包括所需的内容。IDE 确实有一些选项,它们将为您提供所需的任何内容。至少 Eclipse 做到了。要详细阅读它的缺点,您可以通过以下链接:

但是,如果绝对有必要,则可以通过使用它们的完全限定名称引用这些模棱两可的类来避免歧义,例如,在您的情况下

  • java.util.List和/或java.awt.List
于 2012-06-03T06:07:23.670 回答
0

解决方法是不要像那样导入所有内容。使用 Eclipse 之类的 IDE 为您管理导入。

于 2012-06-03T06:07:35.720 回答
0

始终只导入您在特定程序中使用的类。对于具有相同名称但不同包的类,例如您正在使用的 List 类,可以使用它们的完全限定名称而不是 import 语句来指定

于 2012-06-03T06:14:25.223 回答