泛型编译时错误

时间:2013-07-26 21:59:29

标签: java generics

这是来自复杂的构建系统。我正在寻找帮助来解决问题。

好像我遇到了这个问题:Covariant Return Type in Interface not compiling via Javac

在清理所有已编译的代码后编译时,我的代码编译得很好。但是,如果我打开AImpl.java并更改一个字符(修改任何字符串文字,这不应该生成任何编译时错误)并编译然后我得到以下错误:

AImpl.java:22: types BImpl<T> and BImpl<T> are incompatible; both define waitFor(org.openqa.selenium.support.ui.ExpectedCondition,java.lang.String,long,java.util.Collection), but with unrelated return types
public class AImpl<T extends AImpl<T>> extends BImpl<T> implements A<T> {

这是AImpl.java特有的;更改任何其他代码不会产生这种恶意错误。

BImpl.java定义为:

public class BImpl<T extends BImpl<T>> extends CImpl<T> implements B<T> {

错误方法waitForCImpl中定义为:

public T waitFor(ExpectedCondition<?> condition, String message, long timeOutInMillis, Collection<Class<? extends Throwable>> exceptions) 

0 个答案:

没有答案