为是什么要有包装类?
因为我们想让基本数据类型具有类的特征
基本数据类 对应的 型包装类:
包装类:
特点:基本数据类型具有类的特征
基本数据类型、包装类、String之间的转换:
1.基本数据类型——>包装类
- 调用包装类的构造器
2.型包装类——>基本数据类
- 调用包装类的xxxValue()
3.新特性:自动装箱和自动拆箱(JDK 5.0)
- 自动装箱:当参数是Object类型时,如果传递的是一个基本数据类型,那么会自动转换成包装类
- 自动拆箱:对包装类进行运算时,会自动串换成 基本数据类型
4.基本数据类型、包装类——> String
方式1:加""
- String str = int1+"";
- String str = Integer1+"";
- String str = float1+"";
- String str = Float1+"";
方式2: 调用String的valueOf()
- String str = String.valueOf(int1)
- String str = String.valueOf(Integer1)
5.String ——> 基本数据类型、包装类
方式:调用包装类的parsexxx()
- int num = Integer.parseInt(str)
public class 包装类 {
public static void main(String[] args) {
Wrapper wrapper = new Wrapper();
wrapper.int_Integer(); //10
System.out.println();
wrapper.Integer_int(); //123
// 自动装箱
int i = 50;
System.out.println();
//method的参数应该是一个Object类型的参数,但是传递了一个int也没错
wrapper.method(i); //20
// 自动拆箱
System.out.println();
wrapper.method2(); //80
// 基本数据类型、包装类——> String
System.out.println();
wrapper.method3(); //70、30
// String ——> 基本数据类型、包装类
System.out.println();
wrapper.method4(); //1234
}
}
class Wrapper{
// 基本数据类型——>包装类
// 方法:调用包装类的构造器
public void int_Integer() {
int num1=10;
Integer int1 = new Integer(num1); //调用包装类的构造器
System.err.println(int1.toString()); //此时,我们就可以使用类的特征了
Integer int2 = new Integer("123"); //注意:这里只能是数值类型的字符串
System.out.println(int2.toString());
}
// 型包装类——>基本数据类
// 方法:调用包装类的xxxValue()
public void Integer_int() {
Integer num1=10;
int int1 = num1.intValue(); //调用包装类的xxxValue()
System.err.println(int1+10); //此时,int1的类型就是int
}
// 自动装箱:当参数是Object类型时,如果传递的是一个基本数据类型,那么会自动转换成包装类
public void method(Object obj) {
System.out.println(obj);
}
// 自动拆箱:对包装类进行运算时,会自动串换成 基本数据类型
public void method2() {
Integer num1 = new Integer(70);
System.out.println(num1+10);
}
// 基本数据类型、包装类——> String
// 方法:加"" 或 调用String的valueOf()
public void method3() {
Integer num1 = new Integer(70);
int num2 = 30;
String str1 = num1+""; //加""
String str2 = String.valueOf(num2);//调用String的valueOf()
System.out.println(str1);
System.out.println(str2);
}
// String ——> 基本数据类型、包装类
// 方法:调用包装类的parsexxx()
public void method4() {
String str1 = "1234";
int int1 = Integer.parseInt(str1);
System.out.println(int1);
}
}
结果: