java 包装器类型 基本类型 == equals

package wrapper;

public class MyTest {
	public static void main(String[] args) {
		int i = 1;
		Integer I11 = 1;
		Integer I12 = 1;
		Integer I21 = 2;
		Integer I13 = new Integer(1);
		Integer I14 = new Integer(1);
		
		double d1 = 1.0D;
		double d2 = 2.0D;
		Double D1 = 1.0D;
		Double D2 = new Double(2.0D);
		
		//1
		System.out.println("============1============");
		System.out.println(i == I11); //t
		System.out.println(i == I13); //t
		System.out.println(i == I21); //f
		System.out.println(i == D1); //t
		
		//2
		System.out.println("\n============2============");
		System.out.println(I11 == I12); //t
		System.out.println(I11 == I21); //f
		System.out.println(I11 == I13); //f
		System.out.println(I13 == I14); //f
		//System.out.println(I11 == D1); //类型不同不能比较
		
		//3
		System.out.println("\n============3============");
		System.out.println(I11.equals(i)); //t
		System.out.println(I21.equals(i)); //f
		System.out.println(I21.equals(d2)); //f
		System.out.println(I21.equals(d1)); //f
		
		//4
		System.out.println("\n============4============");
		System.out.println(I11.equals(I12)); //t
		System.out.println(I11.equals(I13)); //t
		System.out.println(I11.equals(I21)); //f
		System.out.println(I11.equals(D1)); //f
		System.out.println(I11.equals(D2)); //f
	}
}
//1、基本类型和包装器类型进行“==”运算符的比较,包装器类型将会自动拆箱变为基本类型后再进行比较
//2、两个类型相同的包装器的对象(类型不同不能比较)进行“==”比较时,比较的是引用是否相等, 
//  只要有一个对象是new获得的,返回false
//3、包装器类型调用equals(基本类型)方法,先会进行自动装箱,基本类型转换为包装器类型,若类型不同返回false,
//	若类型相同,则比较值,如果值相同,则返回true,否则返回false。
//4、两个包装器类型进行equals()比较,首先equals()会比较类型,
//  如果类型相同,则继续比较值,如果值也相同,返回true


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值