Integer

一、Integer简介

Integer类将基本类型int的值包装在对象中。Integer类型的对象包含一个int类型的字段。

此外,这个类提供了几个将int转换为String和String转换为int的方法,以及其他处理int时有用的常量和方法。

 在java9以后,Integer的构造方法均已废弃使用,没有构造方法。

Integer a=new Integer("1");

1. 开箱与装箱

开箱装箱主要针对于Java中出现的几种包装类,比如int与之对应的Integer。通俗一点的理解就是,Integer可以与int自动的相互转换,这个转换过程对于开发人员来说是透明的,JVM在底层帮我们进行了转化。

//装箱
Integer i = 10; //Integer i = new Integer(10)

在JVM底层,它帮我们调用了Integer.valueOf(int x),这就是所谓的装箱过程。 

//拆箱
int b = i; //int i = Integer.intValue(i)

在JVM底层,它帮我们调用了Integer.intValue(int x),这就是所谓的拆箱过程过程。

2. 开箱与装箱存在的缓存 

Integer默认缓存[-127,128]之间的数,当数不处于缓存区间,则会创建新的对象。注意:缓存只能在自动装箱或者是调用Integer.valueOf(int x)才会有用。

Integer a = new Integer(11)
Integer b = new Integer(11)
a == b ?  // false

为什么为false?,因为ab是两个对象,两个对象用==,当然不相等啊,这比较的是内存地址,hashcode。用equals才是值(value)的比较。 

Integer a = 11
Integer b = 11
a == b ?  // true

这里为什么又是true?因为JVM自动调用Integer.intValue(int x)(自动装箱),且数值位于[-127,128]之间。

int a1 = Integer.parseInt("127");
int a2 = Integer.parseInt("127");
System.out.println(a1 == a2);       //true

Integer.parseInt()返回值是int 。

Integer a1 = Integer.parseInt("127");
Integer a2 = Integer.parseInt("127");
Integer b1 = Integer.parseInt("128");
Integer b2 = Integer.parseInt("128");

System.out.println(a1==a2);       //true
System.out.println(b1==b2);       //false

同上,Integer.parseInt()返回值是int,则JVM再次进行自动装箱,执行Integer.intValue(int x)方法。

二、常用方法

1. Integer.toString(int i, int radix)    将数值 i 转化为 radix 进制字符串。

2. Integer.parseInt(String s, int radix)  将字符串 s 转化为 radix 进制 int 。

3. Integer.valueOf()  将String、int转化为 Integer。

4. equals()  比较值是否相同

5.

compareTo()

 Integer.compare()

如果x == y,值为0;如果x < y,则值小于0;如果x >y大于0

6.

sum( int a, int b )    //求和

max( int a, int b )    //求最大值

min( int a, int b )    //求最小值

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值