Integer类的详解

编程

Integer类在对象中包装了一个基本类型的int的值,也就是每个Integer对象包含一个int类型的字段。在Integer源码中如下定义:private final int value;

字段:

1、MAX_VALUE:表示int类型能够表示的最大值

2、MIN_VALUE:表示int类型能够表示的最小值

3、SIZE:用来以二进制补码形式表示int值的比特位数

4、TYPE:表示基本类型int的Class实例

5、BYTES:返回int值所占的字节数

构造方法:

Integer(int value);

Integer(String s);

注意:字符串不能包含非数字字符,否则会抛出NumberFormatException

除此之外,还可以给Integer对象直接赋值,如:Integer a = 10;

主要的方法:

bitCount(int i):返回指定int值的二进值补码表示形式的1位的数量

compare(int x , int y):比较x和y的值,当x大于y返回1,x小于y返回-1;

compare(Integer anotherInteger ):比较两个Integer对象的数值

equals(Object obj):比较此对象与指定对象

hashcode():返回此对象的哈希码

parseInt(String s):将字符串参数作为有符号十进制数进行解析

toBinaryString(int i):以二进制无符号整数形式返回一个整数参数的字符串表示形式

toString():返回该Integer值的String对象

valueOf(int i):返回一个表示指定的int值的Integer实例

 

补充一:在Integer类中,“==”用来比较对象地址是否相同,并且Integer类重写了equals(Object obj)方法,在equals(Object obj)方法中,会先判断参数中的对象obj是否是Integer类型的对象,如果是则判断值是否相同,值相同则返回true,值不同则返回false,如果obj不是Integer类的对象,则返回false。需要注意的是:当参数是基本类型int时候,编译器会给int自动封装成Integer类,然后再进行比较

 

补充二:当使用直接赋值如“Integer i = 59”的时候,会调用Integer的valueOf()方法,这个方法就是返回一个Integer对象,但是在返回前,作了一个判断,判断要赋给对象的值i是否在[-128.127]区间中,且IntegerCache(是Interger类的内部类,里面有一个Integer对象数组,用于存放已经存在的且范围在[-128,127]中的对象)中是否存在此对象,如果存在,则直接返回引用,否则,创建一个新对象,返回。

以上是 Integer类的详解 的全部内容, 来源链接: utcz.com/z/513638.html

回到顶部