私はここで奇妙な状況に陥っています。つまり、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>
。