hbw-utils - 关于guava和jdk的compare方法

世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程。

之所以要特意指出compare,希望大家仔细看一下我的注释,compare的返回结果,有的是直接相减获得的,如byte、short;有的是根据逻辑判断获得的,如int、long、float、double。根据相减获得的是相减的结果,根据对比获得的返回的是1、-1、0。所以在实际使用时,直接通过>0、<0、==0判断兼容性最好,不要直接通过:==1、==-1判断。

/**
     * byte compare
     * @param b1 byte
     * @param b2 byte
     * @return int >0, <0, ==0
     */
    public int compare(byte b1, byte b2) {
        return Byte.compare(b1, b2);
    }

    /**
     * short compare
     * @param s1 short
     * @param s2 short
     * @return int >0, <0, ==0
     */
    public int compare(short s1, short s2) {
        return Shorts.compare(s1, s2);
    }

    /**
     * int compare
     * @param i1 int
     * @param i2 int
     * @return int -1, 1, 0
     */
    public int compare(int i1, int i2) {
        return Ints.compare(i1, i2);
    }

    /**
     * long compare
     * @param l1 long
     * @param l2 long
     * @return int -1, 1, 0
     */
    public int compare(long l1, long l2) {
        return Longs.compare(l1, l2);
    }

    /**
     * float compare
     * @param f1 float
     * @param f2 float
     * @return int -1, 1, 0
     */
    public int compare(float f1, float f2) {
        return Floats.compare(f1, f2);
    }

    /**
     * double compare
     * @param d1 double
     * @param d2 double
     * @return int -1, 1, 0
     */
    public int compare(double d1, double d2) {
        return Doubles.compare(d1, d2);
    }

    /**
     * boolean compare true - bigger
     * @param b1 boolean
     * @param b2 boolean
     * @return int -1, 1, 0
     */
    public int compare(boolean b1, boolean b2) {
        return Booleans.compare(b1, b2);
    }

    /**
     * char compare
     * @param c1 char
     * @param c2 char
     * @return int >0, <0, ==0
     */
    public int compare(char c1, char c2) {
        return Chars.compare(c1, c2);
    }

hbw-utils - 关于guava和jdk的compare方法

上一篇:NFS服务配置


下一篇:OpenCV-Utils学习日志:GUI模块要点总结