hashcomparator.java

来自「java 的源代码」· Java 代码 · 共 41 行

JAVA
41
字号
package com.reddragon2046.base.utilities.data.predicates;

import com.reddragon2046.base.utilities.data.BinaryPredicate;
import java.util.Comparator;

public final class HashComparator
    implements BinaryPredicate, Comparator
{

    public HashComparator()
    {
        this(false);
    }

    public HashComparator(boolean allowNulls)
    {
        this.allowNulls = allowNulls;
    }

    public boolean allowNulls()
    {
        return allowNulls;
    }

    public int compare(Object first, Object second)
    {
        if(allowNulls)
            return (first != null ? first.hashCode() : 0) - (second != null ? second.hashCode() : 0);
        else
            return first.hashCode() - second.hashCode();
    }

    public boolean execute(Object first, Object second)
    {
        return first.hashCode() < second.hashCode();
    }

    private boolean allowNulls;
    static final long serialVersionUID = 0xada24c166ed4027fL;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?