我对一个愚蠢的问题表示歉意;只是无法提出合适的搜索条件。尝试编译第三方源时,我遇到了以下编译错误:
/Users/alf/Work/concise.svn/ExtendedSet/src/it/uniroma3/mat/extendedset/transactions/PairSet.java:[230,28] inconvertible types
found : java.util.Collection<capture#741 of ? extends it.uniroma3.mat.extendedset.transactions.Pair<XT,XI>>
required: it.uniroma3.mat.extendedset.transactions.PairSet<XT,XI>
我想我知道问题出在哪里,但是
capture#741
是什么意思?每次我尝试重新编译时,#
之后的数字都会更改-不确定它是否有任何帮助。更新:
有问题的代码是,
public static <XT, XI> PairSet<XT, XI> newPairSet(Collection<? extends Pair<XT, XI>> ps, boolean compressed) {
if (ps instanceof PairSet)
return (PairSet<XT, XI>) ps;
并且javac error: inconvertible types with generics?中建议的修复程序可以正常工作,但是
capture#741
是什么意思? 最佳答案
如果您使用?
,则capture#xxx是通用类型参数PairSet<?,?>
的占位符。我认为您尝试转换为与实际类型参数不兼容的类型参数。
如果您不知道实际的类型参数,则可以强制转换为PairSet
并稍后强制转换为XT或XI。