Java——Integer和int比较

本文详细解析了Java中Integer与int之间的比较机制,包括它们如何存储、比较以及相互转换的过程,特别关注了数值范围、内存分配和自动类型转换等方面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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));//true
		System.out.println("i03与i04:"+ (i03==i04));//false
		System.out.println("i01与i05:"+ (i01==i05));//true
		System.out.println("i04与i06:"+ (i04==i06));//true
		System.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进行比较。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值