Java 来自具有相同名称的不同包的类

Java 来自具有相同名称的不同包的类,java,packages,Java,Packages,我必须同时处理HTML和XML数据。这并不是真的会让我头疼,但JDOM和JSoup(例如,文档和元素类)之间存在名称歧义,反复编写完整的限定名(根据上下文,这将是一种方式)只意味着大量的编写。您知道如何在不将JDomClass和JSoupClass类移动到它们自己的文件中的情况下避免使用全名吗 import java.io.IOException; public class Imports { // ... } class JDomClass { JDomClass() throws

我必须同时处理HTML和XML数据。这并不是真的会让我头疼,但JDOM和JSoup(例如,文档和元素类)之间存在名称歧义,反复编写完整的限定名(根据上下文,这将是一种方式)只意味着大量的编写。您知道如何在不将JDomClass和JSoupClass类移动到它们自己的文件中的情况下避免使用全名吗

import java.io.IOException;

public class Imports {
  // ...
}

class JDomClass {
  JDomClass() throws org.jdom2.JDOMException, IOException {
    org.jdom2.Document doc =
        ew org.jdom2.input.SAXBuilder().build("http://www.example.com/");
    // ...
  }
}

class JSoupClass {
  JSoupClass() throws IOException {
    org.jsoup.nodes.Document doc =
        org.jsoup.Jsoup.connect("http://www.example.com/").get();
    // ...
  }
}

没有别的办法。如果在同一个编译单元中同时使用两个类,则完全限定名是您的解决方案。但是在同一个文件中定义几个顶级类是一种非常糟糕的做法,您永远不应该使用这种做法。当一个文件中只有一个类时,使用一个类名查找文件要容易得多,反之亦然。关于这个极其糟糕的做法,您可能是对的,但它有时很方便,所以我认为这取决于具体情况。但既然无论如何都不可能…:-)