Java是一种面向对象的语言,基本数类型是不能像对象一样进行属性和方法的调用(NO 属性、NO方法、NO对象交互),以及进行相互之间的对象化处理。包装类的存在就是为了解决这些异类所产生的问题,让他们能够像对象一样进行交互。
- 什么是包装类
- 包装类与基本数据类型之间的对应关系
-
1、包装类和基本数据类型
基本数据类型没有属性、方法、无法对象化交互,包装类的产生就是解决基本数据类型存在的这些问题
- 通过包装类,可以让基本数据类型获取对象一样的特征,行使对象的相关权益(拥有属性、方法;可以对象化交互)。
- 所有的包装类都是使用
final
修饰的 - 所有的数值型包装类都是继承自 Number这个类的。这些类都实现了
Comparable<>
Boolean
和Character
它们的直接父类是Object。
1、包装类常用方法
包装类和基本数据类型之间的相互转换(装箱、拆箱)
public class WrapTestOne {
public static void main(String[] args) {
//装箱:把基本数据类型转换成包装类
int t1 = 2;
//1、自动装箱
Integer t2 = t1;
//2、手动装箱 :使用包装类的构造方法进行初始化
Integer i1 = new Integer("2");
Integer i2 = new Integer(t2);
// 测试
System.out.println("i2 = " + i2);
System.out.println("i1 = " + i1);
System.out.println("t1 = " + t1);
System.out.println("t2 = " + t2);
// 拆箱:把包装类装换成基本数据类型
//1、自动拆箱
int t3 = t2;
//2、手动拆箱
int i3 = t2.intValue();
//测试
System.out.println("i3 = " + i3);
System.out.println("t3 = " + t3);
double doubleValue = t2.doubleValue();
System.out.println("手动拆箱后,doubleValue = " + doubleValue);
}
}
基本数据类型和字符串之间的转换
public class WrapTestTwo {
public static void main(String[] args) {
// 基本数据类型转换为字符串
int t1 = 2;
String t2 = Integer.toString(t1);
System.out.println("t1 = " + t1);
System.out.println("t2 = " + t2);
//字符串转换为基本数据类型
//1、通过包装类的parseXXX方法实现
int i = Integer.parseInt(t2);
//2、通同包装类中的valueOf方法
int i1 = Integer.valueOf(t2);
System.out.println("i = " + i);
System.out.println(i1);
}
}
2、需要了解的几点知识
包装类对象的初始值
- 初始值都为null
- 包装类对象间的比较
- 除了Float 和Double,其他的都是有对象常量池这一概念的