Java 用我自己的比较器比较两个整数

Java 用我自己的比较器比较两个整数,java,comparator,Java,Comparator,我正在学习如何在java中使用比较器接口,我正在尝试编写自己的比较器,它将以不同的方式比较整数(例如3>5)。我有一个问题,有人能告诉我的代码有什么问题吗 import java.util.*; import java.lang.*; class MyComparator<Integer> implements Comparator<Integer> { public int compare(Integer a, Integer b) {

我正在学习如何在java中使用比较器接口,我正在尝试编写自己的比较器,它将以不同的方式比较整数(例如3>5)。我有一个问题,有人能告诉我的代码有什么问题吗

import java.util.*;
import java.lang.*;
class MyComparator<Integer> implements Comparator<Integer>
{
    public int compare(Integer a, Integer b)
    {
        if(a.compareTo(b)>0)
        return -1;
        else if(a.compareTo(b)<0)
            return 1; 
        else 
            return 0;
    }
}
import java.util.*;
导入java.lang.*;
类MyComparator实现比较器
{
公共整数比较(整数a、整数b)
{
如果(a.与(b)相比>0)
返回-1;
否则,如果(a)与(b)相比发生变化

class MyComparator<Integer> implements Comparator<Integer>
类MyComparator实现比较器

类MyComparator实现比较器

在第一种情况下,您正在声明一个隐藏的
java.lang.Integer

我还想指出,您可以简单地编写
返回b.compareTo(a);
看看
Integer.compare(int,int)
因此它与
返回-a.compareTo(b);
返回b.compareTo(a);
class MyComparator implements Comparator<Integer>