当前位置: 代码网 > it编程>编程语言>Java > java之基本数据类型所对应的包装类使用

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

2025年12月26日 Java 我要评论
一、对应列举java 中有 8 种基本数据类型,每种基本数据类型都有对应的包装类,它们分别是:二、包装类的作用1. 满足面向对象编程需求java 是面向对象的编程语言,基本数据类型不是对象,无法使用面

一、对应列举

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自动拆箱,进行加法运算后结果再赋值给基本数据类型变量

三、总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com