2-包装类

237 阅读1分钟

包装类

Java为了能将基本数据类型作为对象来处理,为它们提供了相应的包装类

2-包装类.png

1、包装类和基本数据类型之间的转换

1. 装箱:将基本数据类型转化为包装类对象

//方式一:两种构造器
 Integer in1 = new Integer(12);
Integer in2 = new Integer("123");
System.out.println(in1.getClass());//class java.lang.Integer
System.out.println(in1.TYPE);//int
System.out.println(in2.toString());//"123"
System.out.println(in2.toString().getClass());//class java.lang.String

// 方式二:调用 Integer valueOf(int)方法
Integer in5 = Integer.valueOf(89);
System.out.println(in5.getClass());//class java.lang.Integer
System.out.println(in5.TYPE);//int

2. 拆箱:将包装类对象转换为基本数据类型

//调用intValue():int
int i1 = in1.intValue();

3. 自动装箱和拆箱

自动将基本数据类型转换为包装器类型

自动将包装器类型转换为基本数据类型

//自动装箱:基本数据类型 --> 包装类对象
Integer in3 = 23;

int i2 = 12;
Integer in4 = i2;


//自动拆箱:包装类对象 --> 基本数据类型
int i3 = in3;
int i4 = in3 + 1;

4. 总结

4.1 基本数据类型 --> 包装类

  • 两种构造器

  • 调用 Integer valueOf(int)方法

  • 自动装箱

4.2 包装类 --> 基本数据类型

  • 拆箱:调用xxxValue()方法

  • 自动拆箱

2、String与基本数据类型、包装类之间的转换

String和基本数据类型、包装类的转换.jpg

1. 基本数据类型、包装类转换为String

//方式一:+ 连接运算
int num1 = 10;
String str1 = num1 + "";
System.out.println(str1.getClass());
Integer in1 = num1;
String str2 = in1 + "";
System.out.println(str2.getClass());

//方式二:调用String的 String valueOf()
String str3 = String.valueOf(num1);
System.out.println(str3.getClass());

Double d1 = 123.233;
String str4 = String.valueOf(d1);
System.out.println(str4.getClass());

2. String转换为基本数据类型、包装类

//调用包装类的parseXxx(String):返回的是基本数据类型
String str1 = "123";
Integer num1 = Integer.parseInt(str1);
int num2 = Integer.parseInt(str1);
System.out.println(num1 == num2);//true, 自动拆箱

String str2 = "truE";
boolean b1 = Boolean.parseBoolean(str2);
System.out.println(b1);//true

String str3 = "true2";
boolean b2 = Boolean.parseBoolean(str3);
System.out.println(b2);//false

3、常用方法

/*
 * 1. toString():String
 * 2. toString(int):String
 * 3. parseInt(str):int
 */

Integer num1 = 12;
String str1 = num1.toString();
System.out.println(str1.getClass());

String str2 = Integer.toString(22);
System.out.println(str2.getClass());

Integer num3 = Integer.parseInt("123");
System.out.println(num3);