我无法得到它。当我尝试为整个项目组织Imports时,我在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中获取太多内容?
编辑: 如果有什么不太清楚,请评论,我会尝试提供必要的信息
答案 0 :(得分:2)
这是一个长期的要求(可追溯到2005年)。见this Eclipse report停滞不前。也许你可以参与并帮助解决它。我知道JDT团队会欢迎这些小改进的贡献。