Java 如何编写自定义比较器来检查两个对象是否相等

Java 如何编写自定义比较器来检查两个对象是否相等,java,interface,comparator,icomparable,Java,Interface,Comparator,Icomparable,我的要求是我想编写定制的比较器库,这样它可以比较两个对象,如果它们相等或为false,则返回true 比如说 public interface Icomparator<X, Y> { public boolean compare(X x, Y y); } public class ComparatorImpl<X, Y> implements Icomparator<X, Y> { @override public boolean

我的要求是我想编写定制的
比较器
库,这样它可以比较两个对象,如果它们相等或为false,则返回true 比如说

public interface Icomparator<X, Y> {
    public boolean compare(X x, Y y);
}

public class ComparatorImpl<X, Y> implements Icomparator<X, Y> {

    @override
    public boolean compare(X x, Y y) {
        // logic for example as below.
        if (x == y)
            return true;

        return false;
    }
}
公共接口i比较程序{
公共布尔比较(X,Y);
}
公共类ComparatorImpl实现Icomparator{
@凌驾
公共布尔比较(X,Y){
//例如,逻辑如下。
如果(x==y)
返回true;
返回false;
}
}

这是如何用来比较两个对象以及如何调用这两个对象来比较任何两个对象的。

< P>我认为可以使用等号或=

private boolean check(Object comparatorOne, Object comparatorTwo) {
        if (comparatorTwo instanceof String) {
            return comparatorOne.equals(comparatorTwo);
        } else {
            return comparatorOne == comparatorTwo;
        }
    }

比较并不意味着检查(只是)平等性<代码>比较器不返回
布尔值
。因此,它不能用作比较器。如果您要查找的只是检查任意两个对象是否相等,那么标准的方法是在它们各自的类中重写
Object.equals
。然后你可以简单地调用
x.equals(y)
;但有两个物体“等价”的概念是合理的。的确,这是一种非常奇怪的软件开发方式,首先创建一个界面,然后询问我们如何使用它。