包装类、自动装箱、自动拆箱

本文详细介绍了Java中基本数据类型的包装类概念,包括自动装箱与拆箱的过程,并通过实例演示了包装类与基本数据类型之间的转换及它们的区别。

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

包装类:
1、Java中的基本类型都有其对应的封装,即包装类,简而言之就是将基本数据类型封装为一个对象。
2、对应的包装类大部分是基本数据类型的首字母大写,但是有特例,如:int—Integer,
char–Character。
3、包装类可以调用一些方法,而基本数据类型则无法调用。
4、基本数据类型的默认值为:整形:0; boolean:false; char:/u0000; 浮点型:0.0(f/d)而包装类的默认值为Null。

自动装箱与自动拆箱都是指包装类与其对应的基本类型之间的变化,是指Jdk更新后为程序员提供的一些简化操作,具体操作由jdk完成,所以有时会报一些代码表面上看不出来的错误。

测试代码:

package cn.ldedu;

public class BaoZhuang {
    public static void main(String[] args) {
        Integer a=1000; //自动装箱,编译器后台执行Integer a=new Integer(1000)
        int b=a;    //自动拆箱,可以将Integer类型直接赋给int型,后台操作int b=a.intValue(),当a为null时,则会报空指针错误

        Integer c=1234;
        Integer d=1234;
        System.out.printf("c==d结果为     ",c==d);         //因为是不同对象,所以false
        System.out.printf("c.equals(d)结果为 %b",c.equals(d));

        System.out.println();
        System.out.println("**************************");

        Integer e=123;
        Integer f=123;
        System.out.printf("e==f结果为    %b%n",e==f);          //Integer类将[-128,127]之间的数仍然当作基本数据类型处理,所以为true
        System.out.printf("e.equals(f)结果为 %b",e.equals(f));
    }
}

运行截图:
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值