Java中Integer类型的整数值的大小比较

1.规则

  • 如果Integer类型的两个数相等,如果范围在-128~127(默认),那么用“==”返回true,其余的范会false。

  • 两个基本类型int进行相等比较,直接用==即可。

  • 一个基本类型int和一个包装类型Integer比较,用==也可,比较时候,Integer类型做了拆箱操作。

  • Integer类型比较大小,要么调用Integer.intValue()转为基本类型用“==”比较,要么直接用equals比较。

  • Java Integer.compareTo()比较大小

2.定义

compareTo(Integer anotherInteger) //用数字比较两个Integer整数对象
如果该对象小于、等于或大于指定对象,则分别返回负整数、零或正整数

3.源码

//Integer的compareTo方法,底层依据的是compare方法

public int compareTo(Integer anotherInteger) 
{
    //实际上Integer的比较是通过Integer中包括的整数来比较的
    return compare(this.value, anotherInteger.value);
}
public static int compare(int x, int y) 
{
    //如果a比b小,那么返回-1,相等就是0,否则就是1
    return (x < y) ? -1 : ((x == y) ? 0 : 1); 
} 

4.例子

public class IntegerCompareToDemo {  
    public static void main(String args[]) {  
        Integer b = 10;
        Integer c = 15;
	System.out.println(b.compareTo(c)); //输出-1
	b = 15;
	System.out.println(b.compareTo(c)); //输出0
	b = 20;
	System.out.println(b.compareTo(c)); //输出1
    }  
}

你可能感兴趣的:(java,基础,java)