java包装类

包装类

什么是包装类

  • 基本数据(存储在栈里)类型所对应的引用数据类型(对象)(存储在堆里)
  • Object可统一所有数据,包装类的默认值是null

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rO8XPDxx-1642817403519)(C:\Users\LIUXINYU\Desktop\博客书写\Screenshot_20220121_152954_tv.danmaku.bili.jpg)]

类型转换与装箱、拆箱

  • 装箱:把基本数据类型变成一个引用类型(把栈里面的拿到堆里面)
  • 拆箱:把引用类型变成一个基本数据类型(把堆里面拿到栈里面)
public class Number {
    public static void main(String[] args) {
        //装箱:把基本类型转为引用类型
        int num1=10;//基本类型
        //使用Integer类创建对象
        Integer integer1 = new Integer(num1);//装箱
        Integer integer2=Integer.valueOf(num1);//装箱
        System.out.println("装箱");
        System.out.println(integer1);
        System.out.println(integer2);

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

        //自动装箱
        int age1=20;
        Integer integer4=age1;
        System.out.println("自动装箱");
        System.out.println(integer4);
        //自动拆箱
        int age2=integer4;
        System.out.println("自动拆箱");
        System.out.println(age2);
    }
}
//输出
装箱
10
10
拆箱
100
自动装箱
20
自动拆箱
20

基本类型和字符串之间转换

基本类型转换为字符串

  1. 使用+号
  2. 使用Integer中的toString()方法
public class StringSwitch {
    public static void main(String[] args) {
        //基本类型转换为字符串
        int n1=16;
        //使用+号
        String s1=n1+"";
        //使用Integer中的toString()方法
        String s2=Integer.toString(n1);//toString有很多重载方法
        String s3=Integer.toString(n1,2);//后面是改为几进制
        System.out.println(s1);//16
        System.out.println(s2);//16
        System.out.println(s3);//10000
    }
}

字符串转化为基本类型

public class StringSwitch {
    public static void main(String[] args) {
        //字符串改为基本类型
        String s1="8";
        int n1=Integer.parseInt(s1);
        System.out.println(n1);//8

    }
}
  • boolean中true转坏为true,其余为false
public class StringSwitch {
    public static void main(String[] args) {

        //boolean中true转坏为true,其余为false
        String s1="true";
        String s2="false";
        String s3="liu";
        boolean b1=Boolean.parseBoolean(s1);
        boolean b2=Boolean.parseBoolean(s2);
        boolean b3=Boolean.parseBoolean(s3);
        System.out.println(b1);//true
        System.out.println(b2);//false
        System.out.println(b3);//false

    }
}

Integer缓冲区(看底下视频)

https://www.bilibili.com/video/BV1vt4y197nY?p=19&spm_id_from=333.1007.top_right_bar_window_history.content.click

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

        Integer integer1 = new Integer(100);
        Integer integer2 = new Integer(100);
        System.out.println(integer1==integer2);//false(integer1与integer2是引用类型,比较的是地址)

        Integer integer3=100;//自动装箱//在-128到127之间,如果这个数已经存在就公用一个地址
        Integer integer4=100;
        System.out.println(integer3==integer4);//true(在-128到127之间)

        Integer integer5=200;//自动装箱
        Integer integer6=200;
        System.out.println(integer5==integer6);//false(不在-128到127之间)
    }
}

er integer5=200;//自动装箱
Integer integer6=200;
System.out.println(integer5==integer6);//false(不在-128到127之间)
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值