Java提供了两个类型系统,基本类型和引用类型,使用基本类型效率高,而很多情况下创建对象可以使用更多的功能,如果想要基本类型像对象一样操作,就可以使用基本类型对应的包装类
基本类型
对应的包装类 | (位于java.lang包中) |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
装箱与拆箱
基本类型与对应的包装类对象来回转换的过程成为装箱与拆箱
- 装箱:从基本类型转换为对应的包装类对象
拆箱:从包装类对象转换为对应的基本类型
以Integer和int为例
基本数值→包装对象
Integer i = new Integer(4); // 使用构造方法
Integer iii = Integer.valueOf(4);//使用包装类中的valueOF
包装对象→基本数值
int num = i.intValue();
自动装箱和自动拆箱
由于基本类型和包装类之间的转换经常被用到,从JDK1.5开始,基本类型与包装类的装箱拆箱操作可以由编译器自动完成
例
Integer i = 4;//自动装箱。相当于Integer i = Integer.valueOf(4);
i = i + 5;//等号右边:将i转成基本数值 i.intValue() + 5
//加法运算完成后再次装箱,把基本数值转成对象
基本类型与字符串之间的转换
基本类型转换成String
基本类型转换成String总共有三种方法
String str = 5 + ""; //基本类型直接与""相连即可
String str1 = String.valueOf(5);
String str2 = Integer.toString(5);
String转化成对应的基本类型
除了Character类之外,其他的所有包装类都具有parseXxx得静态方法可以把自覅穿转化成对应的基本类型
例如:
public static byte parseByte(String s);
代码如下
public class Demo18WrapperParse {
public static void main(String[] args) {
int num = Integer.parseInt("100");
}
}