我已经将现有的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中给出一个错误,声明
与另一个import语句冲突导入com.bayer.frontlayer.dao.Status
有没有办法在不更改类名称的情况下解决这个问题??
谢谢。
发布于 2012-01-11 17:46:42
您可以在不导入它们的情况下显式使用它们,因此包含的包名称可以区分这两个包:
//No imports required!
public class Adapter
{
private com.tata.model.common.Status x;
private com.bayer.frontlayer.dao.Status y;
}
发布于 2012-01-11 17:45:48
您可以只导入其中一个类,并对另一个类使用完全限定的名称。
例如:
import com.tata.model.common.Status;
//import com.bayer.frontlayer.dao.Status;
class SomeClass{
void someMethod(){
new Status(); // com.tata.model.common.Status
new com.bayer.frontlayer.dao.Status(); //com.bayer.frontlayer.dao.Status
}
}
不过,我认为在您的情况下,如果两个类都使用完全限定的名称,就不会那么令人困惑。
发布于 2012-01-11 17:48:55
在适用的情况下直接应用完整的类名。例如-
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) {
}
....
}
}
https://stackoverflow.com/questions/8817130
复制相似问题