• Java中的自动装箱和拆箱


    目录

    概念

    自动装箱(Autoboxing)

    自动拆箱(Unboxing)

    基本数据类型和它们对应的包装类型


    概念


            自动装箱(Autoboxing)和拆箱(Unboxing)是与Java编程语言中的基本数据类型(如int、double、char等)和对应的包装类型(如Integer、Double、Character等)之间的转换相关的概念。这些转换功能是Java编程语言的特性,旨在简化开发人员的编码工作。

    自动装箱(Autoboxing)


            自动装箱是指将基本数据类型转换为相应的包装类对象的过程,编译器在需要时会自动完成这个操作。这意味着你可以将一个整数值直接赋给一个Integer对象,而不必手动创建该对象。

            自动装箱通常在以下情况下发生:

    • 赋值操作:例如将int赋给Integer。
    • 方法调用:如果一个方法需要一个包装类型的参数,你可以传递一个基本数据类型的值,编译器会自动将其装箱为包装类型。
    • 表达式:当你将一个基本数据类型与包装类型混合使用时,编译器可能会自动进行装箱操作。

            示例:

    1. int primitiveInt = 42;
    2. Integer boxedInt = primitiveInt; // 自动装箱,将int转换为Integer

    自动拆箱(Unboxing)

            拆箱是指将包装类对象转换为基本数据类型的过程。编译器在需要时会自动完成这个操作。

            拆箱通常在以下情况下发生:

    • 赋值操作:将一个包装类型赋给一个基本数据类型。
    • 表达式:当你将一个包装类型与基本数据类型混合使用时,编译器可能会自动进行拆箱操作。
    • 方法调用:如果一个方法需要一个基本数据类型的参数,你可以传递一个包装类型的值,编译器会自动将其拆箱为基本数据类型。

            示例:

    1. Integer boxedInt = 42;
    2. int primitiveInt = boxedInt; // 自动拆箱,将Integer转换为int

            自动装箱和拆箱可以简化代码编写,使代码更具可读性,但在一些情况下也可能引发性能问题,因为它们会引入额外的对象创建和销毁操作。

    基本数据类型和它们对应的包装类型


    基本数据类型(Primitive Types)和包装类型(Wrapper Types)的对应关系:

    • byte 对应 Byte
    • short 对应 Short
    • int 对应 Integer
    • long 对应 Long
    • float 对应 Float
    • double 对应 Double
    • char 对应 Character
    • boolean 对应 Boolean
  • 相关阅读:
    laravel的服务容器,服务提供者,门面的理解
    中断和异常的处理与抢占式多任务
    二十二、MySQL联合查询
    第一章 人工智能专题之Python基础知识复习
    风火编程--playwright爬虫
    第二证券:港交所上市24周年 市值增长38倍
    MySQL练习题
    20221106 今天的世界发生了什么
    这道静态变量题,我居然考了0分
    人工智能知识全面讲解:最简单的神经元模型
  • 原文地址:https://blog.csdn.net/qq_52645134/article/details/134293888