【发布时间】:2014-02-24 17:38:21
【问题描述】:
我听不懂。在尝试为整个项目组织导入时,我在 Eclipse 中遇到了一个常见问题。澄清的简短示例
package test.somepackage
class A{
public B getB(){ return new B() }
}
package test.somepackage
class B{}
package foobar
class B {}
package somewhere.in.code
class ClientUsingAAndB {
public void someMethod(){
A a = new A()
//here Eclipse gets an "Organize Import Conflict"
B b = a.getB();
}
}
因此,如果我尝试自动“组织导入”,Eclipse 会询问我是否要导入 test.somepackage.B 或 foobar.B。对我来说,它非常清楚是哪一个,如果我告诉 Eclipse 使用 foobar.B Eclipse 会立即抱怨返回类型不匹配。问题是:如果 Eclipse 已经知道它(从 A 类签名)获得的返回类型,为什么它表现得像愚蠢?
另外,如果我只是输入a.getB(),将鼠标悬停在它上面,并告诉 Eclipse “将语句分配给新的局部变量”(strg+1),它会自动推断出正确的类型并添加导入。
发生了什么事?这是某种令人讨厌的 Eclipse 错误,没人想修复,还是我想从我的 IDE 中得到太多?
编辑: 如果有不清楚的地方,请评论,我会尽力提供必要的信息
【问题讨论】:
标签: eclipse import ide project-organization