首页 > 解决方案 > 泛型类型上限为泛型本身

问题描述

我正在创建一个通用接口及其类实现。这是一个不相交的集合。此类的泛型类型上限是泛型本身:

public class MyDisjointSet<K extends Pair<T, T>> implements IMyDisjointSet<K> {

}

public interface IMyDisjointSet<T> {}

但我得到编译错误Cannot resolve symbol T

当我将第二个参数添加到泛型类型列表时,它会编译:

public class MyDisjointSet<K extends Pair<T, T>, T> implements IMyDisjointSet<K>

为什么我们要把 T 放在这里?为什么不在班级名称之前?

标签: java

解决方案


请试试

public class MyDisjointSet<K extends Pair<T, T>,T> implements IMyDisjointSet<K> {

推荐阅读