【Java】包装类

包装类

  把基本数据类型包装成一个对象,使基本数据类型变得更强大,以面向对象的思想来去使用这些类型

 装箱操作:把基本数据类型变成包装类

  格式:(两种)

    Integer num = new Integer(123);

    Integer num1 = Integer.valueOf(123);

 拆箱操作:把包装类的对象转换成对应的基本数据类型的变量(使用包装类的intValue方法)

    格式:Integer num2 = Integer.valueOf(12);

    格式:int num3 = num2.intValue();

 自动装箱:可以直接把一个基本数据类型的值赋值给包装类对象

 自动拆箱:可以直接把一个包装类对象赋值给基本数据类型的变量

 基本数据类型与包装类区别?

  1.默认值

    int    0

    Integer  null

  2.包装类当中提供了很多方法直接给我们使用

    Integer.toBinaryString(5)

  3.集合框架当中不能存放基本数据类型,只能存放对象

 基本数据类型跟包装类区别使用?

  在类当中,成员变量一般都使用包装类

  在方法当中,我们一般都是使用基本数据类型

  方法中,基本数据类型存储在栈当中,包装类存放在堆当中

 valueOf缓存设计

  当使用 Integer  i = new Integer(5);格式创建的每一个对象都会创建一个新的地址;

  而使用Integer i = Integer.valueOf(5);格式创建时,是有一个缓存设计的,范围在-128到127,在这之间第二次创建的对象都是之间使用第一次创建对象的地址(本质上还是第一种创建格式,只是加上了缓存判断)

 字符串String与基本数据类型,包装类型之间转换问题?

  1.字符串转换为包装类(字符串当中必须是数字)

例:Integer i = new Integer(“123”);

  2.包装类转换成字符串(使用toString方法)

例:Integer i2  = Integer.valueOf(100);

  String str = i2.toString();

  3.基本数据类型转换为字符串类型(直接在后面+"")

例:int a = 10;

  String str2 = a + " ";

   4.把字符串转换成基本数据类型(使用包装类的parseInt方法,Int是基本数据类型)

例:String str3  = “200”;

  int  i3  = Integer.parseInt(str3);

  4.字符串转boolean    (除了true,其他都是false)

例:Boolean b  = new  Boolean(“a”);

  

 

原文地址:https://www.cnblogs.com/Cccc4/p/13160396.html