Eclipse Null分析奇怪的类型不匹配错误

时间:2014-05-19 07:39:55

标签: java eclipse null

我正在学习通过在Preferences > Java > Compiler > Errors/Warnings中启用基于注释的空分析在我的项目中使用Eclipse的Null Analysis,但是在执行以下操作时遇到了一个奇怪的错误。

1)创建2个接口:

public interface Book {}

import org.eclipse.jdt.annotation.NonNull;
public interface BookService {
    public @NonNull Book getBook(Long id);
}

2)创建2个实现上述接口的类:

public class BookImpl implements Book {}

import org.eclipse.jdt.annotation.NonNull;
public class BookServiceImpl implements BookService {
    @Override
    public @NonNull Book getBook(Long id) {
        return new BookImpl(); //error "Type mismatch: cannot convert from BookImpl to Book"
    }
}

return new BookImpl();的语句Type mismatch: cannot convert from BookImpl to Book上发生错误。

此错误的原因是什么以及如何解决?

其他详细信息

我为Web开发人员使用Java 8和Eclipse Java EE IDE,版本:Kepler Service Release 2.

更新

我尝试过eclipse Luna M7 Release(4.4.0M7)并且没有出现错误。

问题可能是因为eclipse的错误,并且似乎在@ user3580294在下面的评论中提到的新版本中修复了。

0 个答案:

没有答案