JAVA Integer赋值比较

  • Integer介绍

Integer是int的包装类,继承Number类另实现Comparable接口,其取值范围为:-2147483648~2147483647

  • 赋值操作
	Integer newInt = new Integer(10);
	//自动装箱操作,编译后class文件中为:Integer num = Integer.valueOf(10);
	Integer num = 10;
	//num.intValue()为解包操作
	int intNum = num.intValue();
	/**
	 * 输出结果为true----false----true,原因:
	 * 1、 Integer为引用类型,引用类型栈中变量表示一个地址指向堆中的一片内存空间
	 * 2、 newInt.equals(num)为true是因为Integer重写了equals方法,equals方法中实际是值比较
	 * 3、(newInt == num)为false因为两个变量不指向同一片内存
	 * 4、(intNum==num)结果为true是因为intNum是基本数据类型,值直接存在栈中,两者比较的是值
	 */
	System.out.println(newInt.equals(num)+"----"+(newInt == num)+"----"+(intNum==num));
    private final int value;
    public boolean equals(Object obj) {
        if (obj instanceof Integer) {
        	//将对象强制转换为Integer类型,然后自动拆箱进行==比较
            return value == ((Integer)obj).intValue();
        }
        return false;
    }
  • 构造函数
	public Integer(int value) {
		//参数为int 直接赋值
		this.value = value;
	}

	public Integer(String s) throws NumberFormatException {
		//参数为String的情况下调用paseInt()方法进行赋值,10表示为按10进制转换
		this.value = parseInt(s, 10);
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值