Java内部类三:包装类

包装类的概念

  • 基本数据类型所对应的引用数据类型。
  • Object可统一所有数据,包装类的默认值是null。

包装类对应

在这里插入图片描述

类型转换与装箱、拆箱

装箱:基本类型转换为引用类型的过程
拆箱:引用类型转换为基本类型
JDK1.5之后,提供自动装箱与拆箱

public class Test02 {
    public static void main(String[] args) {
        int age = 20;
        //自动装箱
        Integer integer = age;
        System.out.println(integer);
        //自动拆箱
        int age1 = integer;
        System.out.println(age1);
    }
}
  • 8种包装类提供不同类型间的转换方式:
    ●Number父类中提供的6个共性方法。
    ●parseXXX()静态方法。
    ●value0f()静态方法。
  • 注意:需保证类型兼容,否则抛出NumberFormatException异常。
package com.zheng.qi;

public class Test03 {
    public static void main(String[] args) {
        System.out.println("----------基本类型转换为字符串----------");
        //基本类型转换为字符串
        int num = 100;
        //方法一
        String s1 = num + "";
        //方法二
        String s2 = Integer.toString(num);
        System.out.println(s1);
        System.out.println(s2);
        System.out.println("----------字符串类型转换为基本类型----------");
        String s3 = "123";
        int num1 = Integer.parseInt(s3);
        System.out.println(num1);
        System.out.println("----------布尔字符串类型转换为基本类型----------");
        String s4 = "true";
        boolean b = Boolean.parseBoolean(s4);
        System.out.println(b);
    }
}

Integer缓冲区

面试题:

public class Test04 {
    public static void main(String[] args) {
        Integer integer1 = new Integer(100);
        Integer integer2 = new Integer(100);
        //比较的是地址,所以结果为false
        System.out.println(integer1 == integer2);
        Integer integer3 = 100;//自动装箱,实际代码是Integer integer = Integer.valueOf(100)
        Integer integer4 = 100;
        //100在缓冲区-128-127之间,200不在就会新建一个对象,和第一个结果一样
        System.out.println(integer3 == integer4);
        Integer integer5 = 200;
        Integer integer6 = 200;
        System.out.println(integer5 == integer6);
    }
}

结果为:
在这里插入图片描述
Java预先创建了256个常用的整数包装类型对象。
在实际应用当中,对已创建的对象进行复用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值