Java:导入与另一个导入语句冲突

Java:导入与另一个导入语句冲突,java,import,importerror,Java,Import,Importerror,我已经将一个现有的Java应用程序导入到我的工作区中。 我看到,应用程序中的不同包中存在同名的类 例如,中存在一个名为“Status.java”的类 com.tata.model.common.Status; com.bayer.frontlayer.dao.Status; 当我试图在一个类中同时使用它们时,例如如下所示 import com.tata.model.common.Status; import com.bayer.frontlayer.dao.Status; public cl

我已经将一个现有的Java应用程序导入到我的工作区中。 我看到,应用程序中的不同包中存在同名的类

例如,中存在一个名为“Status.java”的类

com.tata.model.common.Status;
com.bayer.frontlayer.dao.Status;
当我试图在一个类中同时使用它们时,例如如下所示

import com.tata.model.common.Status;
import  com.bayer.frontlayer.dao.Status;
public class Adapter
{

}
它开始在Eclipse声明中给出一个错误

导入com.bayer.frontlayer.dao.Status与另一个导入语句冲突

在不更改类名称的情况下,是否仍然可以解决此问题


谢谢。

您可以只导入其中一个类,并为另一个类使用完全限定名

e、 g


尽管我认为,如果您只为两个类使用完全限定名,那么您的情况就不会那么混乱了。

您可以显式使用它们,而无需导入它们,因此包含的包名区分了这两个类:

 //No imports required!
public class Adapter
{
     private com.tata.model.common.Status x;
     private com.bayer.frontlayer.dao.Status y;
}

如果适用,直接应用完整的类名。乙二醇-

public class SomeClass {

public someMethod() {

com.myapp.someotherpackage.Status = "something";

com.some.other.package.Status = "otherthing";

if(com.myapp.someotherpackage.Status == com.some.other.package.Status) {

}
....
}
}

非常感谢大家的帮助,但不幸的是,我只能给出一个答案。没有比这更详细的方法了吗?人们最终如何只通过最后两个包来引用它,例如common.Status,而不是com.tata.model.common。Status@pete你能举个例子吗?没有比这更详细的方法了吗?人们最终如何仅通过最后两个包引用它,例如common.Status而不是com.tata.model.common.Status如果您拥有任何包,您可以重命名这些类的名称。如果它们实现了足够的任何其他接口,则可以基于其中一种接口类型声明变量。你也可以包裹物品,但这样做弊大于利。其他语言允许您导入。
public class SomeClass {

public someMethod() {

com.myapp.someotherpackage.Status = "something";

com.some.other.package.Status = "otherthing";

if(com.myapp.someotherpackage.Status == com.some.other.package.Status) {

}
....
}
}