我在这里遇到了一个奇怪的情况,即 eclipse 告诉我 Long 是“不是有界参数的有效替代品<T extends Comparable<? super T>>
”。关于可能是什么原因的任何建议?我在下面粘贴相关代码
抽象对:
public abstract class Pair<T extends Comparable<? super T>, R> implements Comparable<Pair<T, R>>{
private T tt;
private R rr;
public Pair(T t, R r){
tt = t;
rr = r;
}
@Override
public String toString(){
return tt+ ": " +rr.toString();
}
}
混凝土对:
import utilities.Pair;
public class LogBookRecord<Long, String> extends Pair<Long, String>{
LogBookRecord(Comparable t, Object r) {
super(t, r);
// TODO Auto-generated constructor stub
}
}
我尝试将抽象类标题更改为:
public abstract class Pair<T extends Comparable<T>, R> implements Comparable<Pair<T, R>>
这没有帮助,并且还:
public abstract class Pair<T, R> implements Comparable<Pair<T, R>>
但随后,在具体课程中,我收到一条通知,提示我应该将类型参数更改为<Comparable, Object>
.