通用compareTo类

时间:2018-05-02 16:09:05

标签: java

我想以某种方式制作泛型类,使用名为leiaSuurem的方法。目的是比较两个整数,哪一个更大。例如,如果x大于y,则x为max。

public class Vordleja  {
    public int leiaSuurem <T extends Comparable<T>> T
    maksimum(T x, T y){
        T max = x;
        if(y.compareTo(max) > 0) max = y;
        if(x.compareTo(y) > 0) max = x;
        return max;
    }

    public void main(String[] args) {
        System.out.println("Largest ( 3, 4 ) element is : " + maksimum(3, 4));
    }
}

1 个答案:

答案 0 :(得分:3)

这不是有效的方法签名。您有两个方法名称(leiaSuuremmaksimum),以及两种返回类型(intT)。正确的签名应为public <T extends Comparable<T>> T maksimum(T x, T y)

此外,您的主要方法必须是静态的,因此必须将maksimum更改为静态才能从main中调用:

public class Vordleja  {
    public static <T extends Comparable<T>> T maksimum(T x, T y){
        T max = x;
        if(y.compareTo(max) > 0) max = y;
        if(x.compareTo(y) > 0) max = x;
        return max;
    }

    public static void main(String[] args) {
        System.out.println("Largest ( 3, 4 ) element is : " + maksimum(3, 4));
    }
}