【问题标题】:Deport classes in java?在java中驱逐类?
【发布时间】:2012-06-07 18:07:32
【问题描述】:

我使用如下的批量导入类组:

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 的引用不明确,java.util 中的两个类 java.util.Listjava.awt中的java.awt.List类匹配

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

【问题讨论】:

  • 一种常见的方法是让您的 IDE 管理您的导入。

标签: java list class


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

    • java.util.List 与/或 java.awt.List

    【讨论】:

      【解决方案3】:

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

      这将消除两个Lists 的歧义,这样就没有必要“驱逐”任何东西(您的import 语句可以保持不变)。但是,我确实同意其他答案的建议,即您整理进口。

      如果Lists 中的一个“驱逐出境”,那么您可以通过短名称引用另一个List

      【讨论】:

        【解决方案4】:

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

        【讨论】:

        • 您不必使用 IDE。并不是每个人都喜欢使用 Eclipse。
        • 刚开始使用该语言的人最好使用 IDE。
        猜你喜欢
        • 1970-01-01
        • 2018-05-17
        • 1970-01-01
        • 1970-01-01
        • 2017-07-15
        • 1970-01-01
        • 2017-07-26
        • 2013-12-14
        • 2014-08-02
        相关资源
        最近更新 更多