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