Java——Integer和int比较

来源:互联网 发布:相与枕藉乎舟中的藉 编辑:程序博客网 时间:2024/06/08 00:25

Java基础不行啊,今天做了一道题学习了一个基础知识点,就是Integer和int之间的比较问题。我们都知道int是基本的数据类型,而Integer是包装类。记录下来,防止之后忘了,测试数据如下:

Integer i01 = 127;Integer i02 = Integer.valueOf(127);int i05 = 127;Integer i07 = new Integer(127);Integer i03 = 128;Integer i04 = Integer.valueOf(128);int i06 = 128;System.out.println("i01与i02:"+ (i01==i02));//trueSystem.out.println("i03与i04:"+ (i03==i04));//falseSystem.out.println("i01与i05:"+ (i01==i05));//trueSystem.out.println("i04与i06:"+ (i04==i06));//trueSystem.out.println("i01与i07:"+ (i01==i07));//false

Integer i = Integer.valueOf(127)与Integer i= 127是等价的。

1、大于-128小于等于127,Integer和int互相比较是相等的(即使用的是同一内存地址),大于128则不相等,即      相当于(-128,127],对象用常量池里面存在的值的地址
2、new一个新的的Integer对象,开辟了一块内存单位,则与谁都也不相等
3、Integer对象用“==”是比较内存地址而Integer和int比较是比较数值,所以Integer和int数值相等比较,为true,      Integer自动转化成int进行比较。

0 0
原创粉丝点击