java之基本数据类型所对应的包装类使用

 更新时间:2025年12月26日 09:14:26   作者:月下清融析愿  
本文介绍了Java中的8种基本数据类型及其对应的包装类,包括包装类的作用、自动装箱和拆箱机制、以及提供的一些实用方法

一、对应列举

Java 中有 8 种基本数据类型,每种基本数据类型都有对应的包装类,它们分别是:

二、包装类的作用

1. 满足面向对象编程需求

Java 是面向对象的编程语言,基本数据类型不是对象无法使用面向对象的特性(如方法调用、继承、多态等)。而包装类是对象,可以像操作其他对象一样操作它们。

例如:

Integer num = 10;
// 可以调用包装类提供的方法,获取数字的二进制表示形式
String binaryString = num.toBinaryString(num); 
System.out.println(binaryString); 

 在上述代码中,运用了int的包装类的方法调用功能

2. 用于集合框架

Java 集合框架(如ArrayListHashMap等)只能存储对象。当需要将基本数据类型存储到集合中时,就需要使用对应的包装类。

比如:

import java.util.ArrayList;
import java.util.List;

public class WrapperExample {
    public static void main(String[] args) {
        List<Integer> integerList = new ArrayList<>();
        integerList.add(5); // 自动装箱,实际是integerList.add(Integer.valueOf(5));
        integerList.add(10);
        System.out.println(integerList);
    }
}

关键点解释

List<Integer>

  • 这里声明了一个只能存储Integer对象的列表,不能直接存储基本类型int

自动装箱(Autoboxing)

  • integerList.add(5)看起来像是在添加基本类型int,但实际上Java会自动将其转换为Integer对象
  • 这行代码等价于:integerList.add(Integer.valueOf(5))
  • 这是Java 5引入的特性,称为自动装箱

自动拆箱(Unboxing)

  • 虽然代码中没有展示,但反过来从Integerint的自动转换称为自动拆箱
  • 例如:int num = integerList.get(0)会自动将Integer转换为int

执行过程

创建一个空的ArrayList,用于存储Integer对象

添加数字5时:

  • Java自动调用Integer.valueOf(5)将基本类型5转换为Integer对象
  • 然后将这个Integer对象添加到列表中

同样地处理数字10

最后打印列表内容,输出将是[5, 10]

注意事项

  • 自动装箱/拆箱是编译器提供的语法糖,实际运行时还是会有对象创建的开销
  • 在性能敏感的场合,大量使用自动装箱可能会影响性能
  • Integer是对象,可以为null,而int不能为null

3. 提供了一系列实用的方法

每个包装类都提供了一些静态方法和实例方法,用于数据类型转换、常量获取、数值计算等操作。

  • 数据类型转换

Integer类的parseInt方法可以将字符串转换为整数Double类的parseDouble方法可以将字符串转换为双精度浮点数等。

例如:

String str = "123";
int num = Integer.parseInt(str);
System.out.println(num); 
  • 获取常量

ByteShortIntegerLong等包装类提供了MIN_VALUEMAX_VALUE等常量,表示该数据类型的取值范围

比如:

System.out.println("int类型的最小值:" + Integer.MIN_VALUE); 
System.out.println("int类型的最大值:" + Integer.MAX_VALUE); 

4. 实现自动装箱和拆箱

  • 自动装箱是指将基本数据类型自动转换为对应的包装类对象,
  • 自动拆箱则是将包装类对象自动转换为对应的基本数据类型。

Java 5 引入了自动装箱和拆箱机制,让代码更加简洁。

例如:

// 自动装箱
Integer integer = 10; 
// 自动拆箱
int basicInt = integer; 

在进行一些运算操作时,也会自动进行装箱和拆箱,如:

Integer num1 = 5;
Integer num2 = 3;
int sum = num1 + num2; // num1和num2自动拆箱,进行加法运算后结果再赋值给基本数据类型变量

三、总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java实现List集合转树形结构的示例详解

    Java实现List集合转树形结构的示例详解

    在开发中,我们通常需要将从数据库中查询的集合数据转换成类似文件系统一样的树形集合。本文将利用Java语言实现这一功能,感兴趣的可以了解一下
    2022-08-08
  • SpringBoot使用Apache POI库读取Excel文件的操作详解

    SpringBoot使用Apache POI库读取Excel文件的操作详解

    在日常开发中,我们经常需要处理Excel文件中的数据,无论是从数据库导入数据、处理数据报表,还是批量生成数据,都可能会遇到需要读取和操作Excel文件的场景,本文将详细介绍如何使用Java中的Apache POI库来读取Excel文件,需要的朋友可以参考下
    2025-01-01
  • springboot如何关掉tomcat容器

    springboot如何关掉tomcat容器

    这篇文章主要介绍了springboot如何关掉tomcat容器,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • java 串口工具jSerialComm示例详解

    java 串口工具jSerialComm示例详解

    这篇文章主要介绍了java 串口工具jSerialComm,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • java 从服务器下载文件并保存到本地的示例

    java 从服务器下载文件并保存到本地的示例

    本篇文章主要介绍了java 从服务器下载文件并保存到本地的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • Spring Boot项目中结合MyBatis实现MySQL的自动主从切换功能

    Spring Boot项目中结合MyBatis实现MySQL的自动主从切换功能

    这篇文章主要介绍了Spring Boot项目中结合MyBatis实现MySQL的自动主从切换功能,本文分步骤给大家介绍的非常详细,感兴趣的朋友一起看看吧
    2025-04-04
  • Feign调用接口解决处理内部异常的问题

    Feign调用接口解决处理内部异常的问题

    这篇文章主要介绍了Feign调用接口解决处理内部异常的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • mybatisplus 复合主键(多主键) CRUD示例详解

    mybatisplus 复合主键(多主键) CRUD示例详解

    这篇文章主要介绍了mybatisplus 复合主键(多主键) CRUD实例详解,本文通过实例代码图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • 如何使用cmd命令行窗口运行java文件

    如何使用cmd命令行窗口运行java文件

    多年以来一直使用的是IDE来写java项目,导致很多的最基础的东西都渐渐模糊了,最近遇到一个问题就是如果命令行来运行一个java项目,这里总结下,这篇文章主要给大家介绍了关于如何使用cmd命令行窗口运行java文件的相关资料,需要的朋友可以参考下
    2023-10-10
  • 详解java操作Redis数据库的redis工具(RedisUtil,jedis工具JedisUtil,JedisPoolUtil)

    详解java操作Redis数据库的redis工具(RedisUtil,jedis工具JedisUtil,JedisPoo

    这篇文章主要介绍了java操作Redis数据库的redis工具,包括RedisUtil,jedis工具JedisUtil,JedisPoolUtil工具,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2021-08-08

最新评论