绑定不匹配:MyClass1类型不是Person <t>类型的绑定参数<t extend =“”比较器<t =“” >>的有效替代品

时间:2018-09-30 19:57:55

标签: java generics

我得到一个错误::: Bound不匹配:MyClass1类型不是边界参数<T extends Comparator<T>> of the type Person<T>的有效替代品

import java.util.Comparator;


public class Test
{

    public static void main(String[] args)
    {
        Person<MyClass1> person2 = new Person<>(); // Bound mismatch: The type MyClass1 is not a valid substitute for the bounded parameter <T extends Comparator<T>> of the type Person<T>
    }
}



class MyClass1<T extends Comparator<T>> implements Comparator<T>
{

    @Override
    public int compare(T o1, T o2)
    {
        return 0;
    }
}



class Person<T extends Comparator<T>>
{

}

1 个答案:

答案 0 :(得分:2)

要求是MyClass1必须与T extends Comparator<T>匹配。

在这种情况下,其声明应为class MyClass1 extends Comparator<MyClass1>