40 java常用类_2 _包装类

本文深入讲解Java中的包装类,包括基本数据类型与引用数据类型的转换,即装箱和拆箱的过程,以及包装类与字符串之间的转换。同时,介绍了包装类提供的类型转换方法,如parseXXX()和valueOf()等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

40 java常用类_2 _包装类

什么是包装类

  1. 基本数据类型所对应的引用数据类型
  2. 基本类型的数据是存储在栈中,引用类型的数据是存储在堆里,栈里存放这个数据的地址
  3. Object可统一所有数据,包装类的默认值为null
  4. 包装类对应
基本数据类型包装类型
byteByte
shortShort
intInteger
longLong
charCharacter
floatFloat
doubleDouble
booleanBoolean

类型转换与拆箱、装箱 / 基本类型和字符串之间的转换

  1. 装箱:把基本数据类型转换成引用数据类型(把栈中的数据10放到堆中)

    • 通过new引用类型:引用类型 变量名 = new 引用类型(基本类型数据/变量名);
    • Integer integer1 = new Integer(num);
    • 引用类型.valueOf() :引用类型 变量名 = 引用类型.valueOf(基本类型数据/变量名);
    • Integer integer2 = Integer.valueOf(num);
  2. 拆箱:把引用数据类型转换成基本数据类型(把堆中的数据10放到栈中)

    • 通过引用类型变量名.基本类型Vlaue();:基本类型 变量名 = 引用类型变量名.基本类型Vlaue();
    • int i = integer1.intValue();
    • char c = character1.charValue();
    • double d = double1.doubleValue();
  3. 8种包装类提供不同类型间的转换方式:

    1. Number父类中提供的6种共性方法。(见下面代码)
    2. parseXXX()静态方法:实现字符串与基本类型之间的转换(见下面代码)
      • 基本类型 变量名 = 引用类型.parseXXX(字符串); int i1 = Integer.parseInt(str3);
      • 或基本类型 变量名 = 引用类型.valueOf(字符串); int i = Integer.valueOf(str3);
      • String s = 基本类型数据/变量名+ “ ”;String str1 = i+" "; 或
      • String s = 引用类型.toString(基本类型数据/变量名); String str2 = Integer.toString(i); 或
    • String s = String.valueOf(基本类型数据/变量名); String str22 = String.valueOf(i);
package com.wlw.common_class.wrapper;

public class Demo01 {
    public static void main(String[] args) {

        //类型转换: 装箱:把基本数据类型转换成引用数据类型
        int num = 10; //基本数据类型
        
        Integer integer1 = new Integer(num); //装箱:把基本数据类型转换成引用数据类型
        Integer integer2 = Integer.valueOf(num);//装箱
        System.out.println("装箱:");
        System.out.println(integer1+"\t"+integer2);


        //类型转换: 拆箱:把引用数据类型转换成基本数据类型
        Integer integer3 = new Integer(100);
        int num2 = integer3.intValue(); //拆箱
        System.out.println("拆箱:");
        System.out.println(num2);


        System.out.println("============int===============");
        //jdk1.5之后,提供了自动装箱,拆箱
        int age1 = 20;
        //自动装箱
        Integer integer4 = age1;
        System.out.println("自动装箱:");
        System.out.println(integer4);

        //自动拆箱
        int age2 = integer4;
        System.out.println("自动拆箱:");
        System.out.println(age2);

        System.out.println("=============char==============");
        char a = 'A';
        Character character = new Character(a);//装箱
        Character character1 = Character.valueOf(a);//装箱
        Character character2 = a; //自动装箱

        Character c = Character.valueOf('B');
        char b = c.charValue();//拆箱

        System.out.println("=============boolean==============");
        boolean flag = true;
        Boolean Bflag = new Boolean(flag);//装箱
        Boolean Bflag2 = Boolean.valueOf(flag);//装箱

        boolean flag2 = Bflag2.booleanValue();//拆箱

        System.out.println("=============byte==============");
        byte b1 = -1;
        Byte B1 = new Byte(b1); //装箱
        Byte B2 = Byte.valueOf(b1);//装箱
        
        byte b2 = B2.byteValue();//拆箱

    }
}

package com.wlw.common_class.wrapper;

public class Demo01 {
    public static void main(String[] args) {

        System.out.println("=============基本类型和字符串之间的转换==============");
        //基本类型和字符串之间的转换
        //1. 基本类型转换成字符串
        //第一种
        int i = 12;
        String str1 = i+" ";
        System.out.println(str1);
        //第二种
        String str2 = Integer.toString(i);
        System.out.println(str2);
        //第三种
        String str22 = String.valueOf(i); //这个方法实质上也是调用Integer.toString();
        System.out.println(str22);

        //2. 字符转转换成基本类型
        String str3 = "1502";
        int i1 = Integer.parseInt(str3);
        int i2 = Integer.valueOf(str3);
        System.out.println(i1);
        
        
        //boolean字符串形式转换成基本类型:"true"---> true    非"true"---->false
        String s = "true";
        boolean flag3 = Boolean.parseBoolean(s);
        System.out.println(flag3); //true

        String s1 = "tttt";
        boolean flag4 = Boolean.parseBoolean(s1);
        System.out.println(flag4); //false
        
    }
}
/*
 执行结果:
 	=============基本类型和字符串之间的转换==============
    12 
    12
    12
    1502
    true
    false
*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悬浮海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值