java基础之Integer类总结

来源:互联网 发布:centos 6.8 docker 编辑:程序博客网 时间:2024/05/22 07:00

Integer类基本类型int的封装类,是不可变类。该类提供了很多与int相互转换的方法。int类型32位,因此它有最小值( -2^31=-2147483648)和最大值(2^31-1=2147483647)。

在Integer类中有个内部类缓存类:

这里写图片描述

Integer类型将8位的整数(-128~127)看作是常用数。

这里写图片描述

这里写图片描述
上面两个Integer的方法,其实是自动装箱和拆箱时会调用的方法,在我们使用 Integer i = 4;时会自动装箱,调用的是上面第一个方法valueOf(),由上面代码可知当我们定义多个-128~127之内整数时返回的Integer对象是同一个对象,多有的引用都指向这一个对象。因此他们==得到的结果是true。例如:

    Integer i1 = 100;    Integer i2 = 100;    Integer i3 = 200;    Integer i4 = 200;    System.out.println(i1 == i2); //true    System.out.println(i3 == i4); //false

上面第二个方式是自动拆箱是会调用的方法。

    Integer i = new Integer(10);    int i1 = i;  //此处会调用intValue()方法

Integer类中有个属性 value,其类型是int,是包装类值。
该类有个衍生类AtomicInteger,在线程中使用。

八个基本类 :
long>>Long 64位;
short>>Short 16位;
byte>>Byte 8位;
float>>Float 32位;
double>>Double 64位;
boolean>>Boolean 1位;
char>>Charater 16位;
上面这些封装类都是final修饰的不可变类。