一、包装类
为了使基本数据类型能够在需要使用对象的地方使用,并使其具有对象的特征。
基本数据类型 | 包装类 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
二、自动拆装箱
自动装箱:基本数据类型转为引用数据类型。
自动拆箱:引用数据类型转为基本数据类型。
例:
int i = 5;
Integer j=i; //自动装箱 等于Integer j=Integer.valueOf(i)
int k = j; //自动拆箱 等于int k=j.intValue();
装箱前 i 存在与自动常量池中,在进行自动装箱时,j 的值存在于堆中。
当包装类与基本数据类型进行比较时,会进行自动拆箱,再比较。
例:
int i = 5;
Integer j=5;
System.out.println(i==j);//true,j自动进行了拆箱操作
当int类型比较的值存在与自动缓冲区的范围内[-128,127]时,会直接返回一个缓存区对象否则返回一个新的对象。
例:
Integer i = 127;
Integer j = 127;
System.out.println(i==j);//true
Integer k = 128;
Integer l = 128;
System.out.println(i==j);//false
三、方法
构造方法
Integer(int value)
构造一个新分配的 Integer 对象,它表示指定的 int 值。Integer(String s)
构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值。
方法
byte byteValue()
以 byte 类型返回该 Integer 的值。int compareTo(Integer anotherInteger)
在数字上比较两个 Integer 对象。static Integer decode(String nm)
将 String 解码为 Integer。double doubleValue()
以 double 类型返回该 Integer 的值。boolean equals(Object obj)
比较此对象与指定对象。float floatValue()
以 float 类型返回该 Integer 的值。static Integer getInteger(String nm)
确定具有指定名称的系统属性的整数值。static Integer getInteger(String nm, int val)
确定具有指定名称的系统属性的整数值。static Integer getInteger(String nm, Integer val)
返回具有指定名称的系统属性的整数值。int intValue()
以 int 类型返回该 Integer 的值。long longValue()
以 long 类型返回该 Integer 的值。static int parseInt(String s)
将字符串参数作为有符号的十进制整数进行解析static int parseInt(String s, int radix)
使用第二个参数指定的基数,将字符串参数解析为有符号的整数。static int reverse(int i)
返回通过反转指定 int 值的二进制补码表示形式中位的顺序而获得的值。short shortValue()
以 short 类型返回该 Integer 的值。static String toHexString(int i)
以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式。String toString()
返回一个表示该 Integer 值的 String 对象。static Integer valueOf(int i)
返回一个表示指定的 int 值的 Integer 实例。