首页 > 其他分享 >JDK1.5之后的自动装箱

JDK1.5之后的自动装箱

时间:2024-03-06 21:14:11浏览次数:31  
标签:拆箱 Java JDK1.5 编译器 自动 Integer 装箱

JDK 1.5 引入了一项非常实用的新特性,即自动装箱(Autoboxing)和自动拆箱(Unboxing)。这项特性的引入极大地简化了Java程序员在处理基本类型和它们对应的包装类之间的转换过程。

自动装箱: 自动装箱是指Java编译器能够在编译期间自动将基本数据类型转换为它们对应的包装类对象。例如,当你写出如下代码时:

Java
1Integer i = 100; // 这里发生了自动装箱,相当于 Integer i = Integer.valueOf(100);

编译器会自动将整型常量 100 转换成 Integer 类型的对象。

自动拆箱: 反之,自动拆箱则是将包装类对象自动转换为其对应的基本数据类型。如:

Java
1Integer i = 200;
2int x = i; // 这里发生了自动拆箱,相当于 int x = i.intValue();

在这个例子中,编译器会自动将 Integer 对象 i 解包为基本类型 int

通过自动装箱和拆箱,Java开发者可以在编写代码时更加自然地在基本类型和它们的包装类之间切换,无需显式调用包装类的构造函数或解包方法,从而提高代码可读性和简洁性。这一改进特别在处理集合框架(如ArrayList、HashSet等,它们不能直接存储基本类型)和泛型编程时显得尤为重要。

标签:拆箱,Java,JDK1.5,编译器,自动,Integer,装箱
From: https://www.cnblogs.com/syhxx/p/18057585

相关文章

  • ChatGPT 新增朗读功能;微软 Win11 鼠标悬停自动打开 Copilot 丨 RTE 开发者日报 Vol.15
      开发者朋友们大家好: 这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(RealTimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表编辑的个人观点......
  • excel 自动新增以及填充数据
    拿下图举例: 客户编码需要自增一直到结尾1、选中第一行ctrl+shift+箭头下2、选择开始==》填充==》序列==》等差序列 设置步长即可 ......
  • 功能测试、自动化测试、性能测试的区别
    按测试执行的类型来分:功能测试、自动化测试、性能测试1.功能测试功能测试俗称点点点测试。初级测试人员的主要测试任务就是执行测试工程师所写的测试用例,记录用例的执行状态及bug情况。与开发人员进行交互直到bug被修复。功能测试理论上是指通过测试来检测系统每个功能是否都能......
  • 记一次 .NET某设备监控自动化系统 CPU爆高分析
    一:背景1.讲故事先说一下题外话,一个监控别人系统运行状态的程序,结果自己出问题了,有时候想一想还是挺讽刺的,哈哈,开个玩笑,我们回到正题,前些天有位朋友找到我,说他们的系统会偶发性CPU爆高,CPU上去了就下不来了,让我帮忙看一下怎么回事,而且自己也分析过了,没找到哪里有问题,写监控的都是......
  • C#调用百度翻译API自动将中文转化为英文
    1.百度翻译开放平台在平台申请你自己的appid,和密钥2.开通后就在我提供的gitee链接下载代码,直接修改秘钥和appid就能使用如下图所示3.Gitee链接:链接4.https://gitee.com/lugangtian/baidu-translation-api.git......
  • Linux使用问题之长时间连接ssh不操作自动断开问题解决方案
    1.概要一般情况下,在使用SSHSecureShellClient的过程中,经常会遇到当用SSHSecureShell连接登录Linux后,如果几分钟没有任何操作,连接就会自动断开,提示Serverresponded"Connectionclosed.",必须重新登录才可以。2.原理主要由以下两个参数控制:ClientAliveInterval:指定了服......
  • 自动化测试的痛点与发展趋势
    前几天在技术交流群里,大家讨论了很多关于自动化测试落地面临的痛点和如何创造价值的话题,颇有感触。自动化测试这个话题,从出现到在国内大规模开展实践,有很长的一段时间了。早期,大家对自动化测试的理解和使用目的很简单,就是通过机器自动执行,替代人的手工执行,寄期能提高效率,降低成......
  • 前端工程化 项目工程环境自动打包上传服务器
    1.创建deploy.js放在package.json同一层级/***结合scp2和ssh2将build打包传到服务器*npminstallscp2--save-dev*npminstallssh2--save-dev**package.json中*scripts:{*"deploy":"npmrunbuild&&nodedeploy"*}*npmrundepl......
  • 基于preparedStatement对数据的增删改查,以及全自动遍历
    1packagecom.atsyc.api.preparedstatement;23/*4*使用preparedStatement进行t_user表的增删改查动作5*/67importcom.mysql.cj.xdevapi.PreparableStatement;8importorg.junit.Test;910importjava.sql.*;11importjava.util.*;......
  • SpringBoot中try/catch异常并回滚事务(自动回滚/手动回滚/部分回滚)
    https://www.cnblogs.com/cfas/p/16423510.html https://www.cnblogs.com/konglxblog/p/16229175.htmlSpringBoot异常处理回滚事务详解(自动回滚、手动回滚、部分回滚)(事务失效) 参考:https://blog.csdn.net/zzhongcy/article/details/102893309概念事务定义事务,就是一......