Java是一种面向对象的语言,基本数类型是不能像对象一样进行属性和方法的调用(NO 属性、NO方法、NO对象交互),以及进行相互之间的对象化处理。包装类的存在就是为了解决这些异类所产生的问题,让他们能够像对象一样进行交互。

  • 什么是包装类
  • 包装类与基本数据类型之间的对应关系
  • 包装类的一些常用的方法

    1、包装类和基本数据类型

  • 基本数据类型没有属性、方法、无法对象化交互,包装类的产生就是解决基本数据类型存在的这些问题

  • 通过包装类,可以让基本数据类型获取对象一样的特征,行使对象的相关权益(拥有属性、方法;可以对象化交互)。
  • 所有的包装类都是使用final修饰的
  • 所有的数值型包装类都是继承自 Number这个类的。这些类都实现了 Comparable<>
  • BooleanCharacter它们的直接父类是Object。

5.2、包装类 - 图1

1、包装类常用方法

  • 包装类和基本数据类型之间的相互转换(装箱、拆箱)

    1. public class WrapTestOne {
    2. public static void main(String[] args) {
    3. //装箱:把基本数据类型转换成包装类
    4. int t1 = 2;
    5. //1、自动装箱
    6. Integer t2 = t1;
    7. //2、手动装箱 :使用包装类的构造方法进行初始化
    8. Integer i1 = new Integer("2");
    9. Integer i2 = new Integer(t2);
    10. // 测试
    11. System.out.println("i2 = " + i2);
    12. System.out.println("i1 = " + i1);
    13. System.out.println("t1 = " + t1);
    14. System.out.println("t2 = " + t2);
    15. // 拆箱:把包装类装换成基本数据类型
    16. //1、自动拆箱
    17. int t3 = t2;
    18. //2、手动拆箱
    19. int i3 = t2.intValue();
    20. //测试
    21. System.out.println("i3 = " + i3);
    22. System.out.println("t3 = " + t3);
    23. double doubleValue = t2.doubleValue();
    24. System.out.println("手动拆箱后,doubleValue = " + doubleValue);
    25. }
    26. }
  • 基本数据类型和字符串之间的转换

    1. public class WrapTestTwo {
    2. public static void main(String[] args) {
    3. // 基本数据类型转换为字符串
    4. int t1 = 2;
    5. String t2 = Integer.toString(t1);
    6. System.out.println("t1 = " + t1);
    7. System.out.println("t2 = " + t2);
    8. //字符串转换为基本数据类型
    9. //1、通过包装类的parseXXX方法实现
    10. int i = Integer.parseInt(t2);
    11. //2、通同包装类中的valueOf方法
    12. int i1 = Integer.valueOf(t2);
    13. System.out.println("i = " + i);
    14. System.out.println(i1);
    15. }
    16. }

    2、需要了解的几点知识

  • 包装类对象的初始值

    • 初始值都为null
  • 包装类对象间的比较
    • 除了Float 和Double,其他的都是有对象常量池这一概念的