包装类
什么是包装类
-
基本数据类型所对应的引用数据类型
-
Object 可统一所有数据,包装类的默认值时null
-
基本数据类型 包装类型 byte Byte short Short int Integer long Long float Float double Double boolean Boolean char Character
-
类型转换与装箱和拆箱
-
8种包装类提供不同类型间的转换方式:
- Number父类中提供的6个共性方法。
package com.kind.chapter_5; public class Demo01 { public static void main(String[] args) { int num = 10; // 类型转换:装箱,基本类型转成引用类型的过程 // 基本类型 int num1 = 18; // 使用Intger类创建对象 Integer integer1 = new Integer(num1);//装箱 Integer integer2 = Integer.valueOf(num1); System.out.println("装箱"); System.out.println(integer1); System.out.println(integer2); // 类型转换:拆箱,引用类型转成基本类型 Integer integere3 = new Integer(100); int num2= integere3.intValue(); System.out.println("拆箱"); System.out.println(num2); // JDK 1.5之后 ,java提供了自动装箱和拆箱功能 int age = 30; // 自动装箱 Integer integer4 = age; System.out.println("自动装箱"); System.out.println(integer4); // 自动拆箱 int age2 = integer4; System.out.println("自动拆箱"); System.out.println(age2); } }
-
parseXXX()静态方法
-
// 基本类型和字符串之间的转换 // 1.基本类型转换为字符串 int n1 = 255; // 1. 使用加号 String s1 = n1+""; // 2.使用 Integer 中的 toString() 方法 String s2 = Integer.toString(n1,16); System.out.println(s1); System.out.println(s2); // 2.字符串转换为基本类型 String str = "150"; // 使用 Integer.parseXXX(); int n2 = Integer.parseInt(str); System.out.println(n2); // boolean 类型字符串形式转成基本类型,”true“ ----> true 非”true“ -----> false String str2 = "true"; boolean b1 = Boolean.parseBoolean(str2); System.out.println(b1); } }
-
-
valueof()静态方法
-
注意:需保证类型兼容,否则抛出NumberFromatException异常
整数缓冲区
-
Java 预先创建了256个常用的整数包装类型对象
-
在实际应用当中,对已创建的对象进行复用
-
package com.kind.chapter_5; import org.omg.CORBA.INTERNAL; public class Demo02 { public static void main(String[] args) { // 面试题 Integer integer1 = new Integer(100); Integer integer2 = new Integer(100); System.out.println(integer1 == integer2); System.out.println("==========================================="); Integer integer3 = Integer.valueOf(100);//自动装箱 Integer integer4 = Integer.valueOf(100); System.out.println(integer3 == integer4); System.out.println("==========================================="); Integer integer5 = Integer.valueOf(200); Integer integer6 = Integer.valueOf(200); System.out.println(integer5 == integer6); } }