不兼容的类型:Class <cap#1>无法转换为Class <list <t >>

时间:2018-08-03 07:35:27

标签: java compiler-errors incompatibletypeerror

我试图编译一个仍在开发中的项目,该项目是从sourceforge获得的。这是它的地址: https://sourceforge.net/p/groove/code/5475/tree/groove/trunk/ 我知道这个项目已经过充分证明,并且没有任何错误,但是当我要编译它时,我遇到了这个编译错误:

error: incompatible types: Class<CAP#1> cannot be converted to Class<List<T>>
            this.valueType = (Class<List<T>>) new ArrayList().getClass();
where T is a type-variable:
    T extends Object declared in class SplitParser
where CAP#1 is a fresh type-variable:
    CAP#1 extends ArrayList from capture of ? extends ArrayList

此文件第370行出现错误: https://sourceforge.net/p/groove/code/5475/tree/groove/trunk/src/groove/util/parse/Parser.java 有人可以帮我解决这个错误吗?我使用Java 8编译了此程序,这可能是导致错误的原因吗?

编辑:有趣的是,该项目是在Eclipse中编译的,没有错误,但是在具有相同Java版本的Netbeans中仍然存在错误。谁知道为什么?

1 个答案:

答案 0 :(得分:-1)

最后我发现了问题。它只是关于在项目中不包括一些需要的库!我试图用Netbeans打开项目,但是显然可以在Eclipse中很好地配置项目。因此,使用过的库会自动在eclipse bot中导入,而不是在Netbeans中。在Netbeans中,必须手动导入所有使用的库。