1. 包装类概述
-
基本数据类型所对应的引用数据类型
-
Object可统一所有数据,包装类的默认值是null
基本数据类型 包装类型 byte Byte short Short int Integer long Long float Float double Double boolean Boolean char Character
2. 装箱和拆箱,基本类型和字符串的转换
-
8种包装类提供不同类型间的转换方式:
-
Number父类中提供的6个共性方法
public class Test { public static void main(String[] args) { // 基本类型数据 int num1 = 10; // JDK1.5之前 // 类型转换:装箱,基本类型转成引用类型的过程 // 使用Integer类创建对象 Integer integer1 = new Integer(num1); Integer integer2 = Integer.valueOf(num1); System.out.println(integer1); System.out.println(integer2); // 类型转换:拆箱,引用类型转成基本类型 Integer integer3 = new Integer(20); int num2 = integer3.intValue(); System.out.println(integer3); System.out.println(num2); // JDK1.5之后 int num3 = 30; // 自动装箱 Integer integer4 = num3; System.out.println(integer4); // 自动拆箱 int num4 = integer4; System.out.println(num4); } }
-
parseXXX()静态方法
public class Test { public static void main(String[] args) { // 基本类型和字符串之间转换 // 基本类型转成字符串 int num1 = 10; // 使用+号 String string1 = num1 + ""; System.out.println(string1); // 使用Integer中的toString()方法 String string2 = Integer.toString(num1); System.out.println(string2); String string3 = Integer.toString(num1, 2); System.out.println(string3); // 字符串转成基本类型 String string4 = "20"; // 使用Integer中的parseXXX()方法 int num2 = Integer.parseInt(string4); System.out.println(num2); // boolean字符串形式转成基本类型,"true" -> true,非"true" -> false String string5 = "true"; boolean boolean1 = Boolean.parseBoolean(string5); System.out.println(boolean1); String string6 = ""; boolean boolean2 = Boolean.parseBoolean(string6); System.out.println(boolean2); } }
-
valueOf()静态方法
-
-
注意:需保证类型兼容,否则抛出Number Format Exception异常
3. Integer缓冲区
- Java预先创建了256个常用的整数包装类型对象(-128~127)
- 在实际应用当中,对已创建的对象进行复用
public class Test {
public static void main(String[] args) {
Integer integer1 = new Integer(100);
Integer integer2 = new Integer(100);
System.out.println(integer1 == integer2);
Integer integer3 = 100;
Integer integer4 = 100;
System.out.println(integer3 == integer4);
Integer integer5 = 200;
Integer integer6 = 200;
System.out.println(integer5 == integer6);
}
}