int 和 Integer有什么区别,Integer 有哪些函数方法

【基本数据类型对象包装类JDk1.5以后的新特性】——【自动拆箱,装箱】
简化书写。

Integer i = new Integer(5);
基本数据类型对象包装类,对象创建的简化写法Integer i = 5;
1. Integer i = 5;(其实在内存中也是通过 new Integer(5)这种方式创建的!)
这种方式成为——自动装箱,Integer.valueOf(5)自动完成了对象创建的动作。
2. 在进行 i = i + 5,运算时——
= 右边的i 会先转成基本数据值(自动拆箱)i.intValue(),其实质为:
i = i.intValue() + 5 ;然后再和5进行加法运算。

= 右边运算完的结果,再次被自动装箱变成Integer对象赋给i.

一旦简化就有弊端:多具备一个值null. 使用自动装箱拆箱时,要进行null的健壮性判断。
【实例】
Integer x = null;
x = x.intValue() + 4;    x为null 不能调用方法,此时会发生:NullPointerException异常

在JdK1.5的新特性自动装箱中,如果数值在byte类型范围内(-128 ~ 127)。如果该对象数值重复出现
多个引用其实是指向同一个Integer对象,节省空间!但是超出了byte范围,都会生产新的Integer对象。
Integer m = 127;
Integer n = 127;
System.out.println( m == n); //true
System.out.println(m.equals(n));  //true
____________________________________

Object x = 5;Object x 接受到了一个Integer对象,自动装箱。
然而 Object不可以接受基本数据类型。

基本数据类型变成对象包装类的好处:

可以将基本数据和字符串之间进行互相的转换。
基本类型数据 转为 字符串 的三种方式:

基本数据类型对象包装类中的方法 static String toString(基本类型);
String类中的方法: static String valueOf(基本类型)
基本类型数据 +“ ”;
基本数据类型值 和 基本类型数据对象之间的转换:

使用构造函数——Integer();
即可以接受基本数值,也可以接收基本数值的字符串形式。
可以使用基本类型对象中的方法。 static Integer valueOf(int);
函数:
进制转换–二进制/八进制/十六进制/转为无符号
数学运算 – 最大值(a,b) /最小值 /和
从字符串转为数值:static Integer valueOf(String s) parseInt(String s, int radix)
左移右移(*2的n次幂):rotateLeft(int i, int distance)
比较 – compareTo(Integer anotherInteger) compare(int x, int y) compareUnsigned(int x, int y)

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值