【Java】自动拆箱与自动装箱

2023-10-26

自动装箱、自动拆箱是 JDK1.5 提供的功能。自动装箱是把一个基本类型的数据直接赋值给对应的包装类型;自动拆箱是把一个包装类型的对象直接赋值给对应的基本类型;通过自动装箱、拆箱功能,可以大大简化基本类型变量和包装类对象之间的转换过程。

Java 是一门非常纯粹的面向对象的编程语言,其设计理念是 "一切皆对象"。但 8 种基本数据类型却不具备对象的特性。Java 之所以提供 8 种基本数据类型,主要是为了照顾程序员的传统习惯。虽然这 8 种基本数据类型的确带来了一定的方便,但在某些时候也会受到一些制约。比如所有的引用类型的变量都继承于 Object 类,都可以当作 Object 类型的变量使用,但基本数据类型却不可以。如果某个方法需要 Object 类型的参数,但实际传入的值却是数字的话,就需要做特殊处理了。有了包装类,这种问题就可以得到简化。不同包装类不能直接进行比较,这包括:

  • 不能用 == 进行直接比较,因为它们是不同的数据类型
  • 不能转为字符串进行比较,因为转为字符串后,浮点值带小数,整数值不带
  • 不能使用 compareTo 方法进行比较,虽然它们有 compareTo 方法,但该方法只能对相同类型进行比较。整数、浮点类型的包装类都继承于 Number 类型,而 Number 类型分别定义了将数字转换为 byte、short、int、long、float、double 的方法。所以可以将 Integer、Double 先转为相同的基本数据类型(如 double)然后使用 == 进行比较

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Java】自动拆箱与自动装箱 的相关文章

  • 如何获取枚举的子集

    大多数情况下 包含所有元素的枚举显示在用户界面的下拉列表中 我们只需要在用户界面中显示 5 个字段中的 2 个 通过某种方式利用可用于枚举的相同函数来获取此数据的更简单方法是什么 enum Color RED GREEN BLACK BLU
  • 如何将 .cer 证书导入 java 密钥库?

    在开发 Java Web 服务客户端期间 我遇到了一个问题 Web 服务的身份验证使用客户端证书 用户名和密码 我从网络服务背后的公司收到的客户端证书位于 cer格式 当我使用文本编辑器检查该文件时 它具有以下内容 BEGIN CERTIF
  • 带有来自 Selenium 2 / WebDriver 的 Id 的 jQuery 元素选择器

    我可以在 Selenium 中获取元素的 ID RemoteWebElement webElement getId 它返回一个像这样的字符串 e9b6a1cc bb6f 4740 b9cb b83c1569d96d 我想知道这个ID的来源
  • 哪个类调用了我的静态方法?

    假设我有一个带有静态方法的 Java 类 如下所示 class A static void foo Which class invoked me 进一步假设 A 类有任意数量的子类 class B extends A class C ext
  • 在 MongoDB Java 驱动程序中如何使用 $filter

    我有一个适用于 MQL 的查询 我需要将其翻译成Java MQL 中的查询如下所示 db
  • Eclipse 自动完成更改变量名称

    只是一个愚蠢的问题 但很难搜索 因为有很多关于 Eclipse 自动完成的主题 而且很难找到与我的问题匹配的内容 所以问题是 如果我写 MyClass MyVarName 然后按空格键 添加 new MyClass Eclipse 自动添加
  • 获取TextView的高度

    我有一些文字将被放入TextView 我这样做是使用setText 现在我需要找到文本在文本中占据的行数或高度TextView 我尝试使用getHeight 但它总是返回 0 无论如何 有没有办法获得文本中存在的文本的高度TextView
  • 根据哈希值确认文件内容

    我需要 检查完整性 content文件数量 文件将写入 CD DVD 可能会被复制多次 这个想法是识别正确复制的副本 在从 Nero 等中删除它们之后 我对此很陌生 但快速搜索表明Arrays hashCode byte http down
  • 总结二维数组

    鉴于我当前的程序 我希望它在用户输入所有值后计算每列和每行的总和 我当前的代码似乎只是将数组的值加倍 这不是我想要做的 例如 如果用户输入具有以下值 1 2 3 2 3 4 3 4 5 的 3x3 矩阵 则看起来就像我在下面的程序中对其进行
  • 在java.util中获取错误ArrayList不带参数[重复]

    这个问题在这里已经有答案了 我已经创建了一个类 Student 现在我尝试将我的 Student 对象存储在 ArrayList 中 但在编译 ArrayList 不接受参数时出现错误 我已经检查了我的代码很多次 但找不到问题所在 我的学生
  • Ant 无法启动,给出主类错误

    我正在运行 Elementary OS 基于 Ubuntu 12 并且在运行 apache ant 时遇到问题 它在重新启动之前就可以正常工作 所以我不确定会发生什么变化 我在 etc environment 中定义了环境变量 如下所示 P
  • 给定一个单词列表 - 在 java 中完成单词的好的算法是什么?权衡:速度/效率/内存占用

    我正在探索潜在的免费 付费应用程序的硬件 软件要求 最终目标是移动 Java 应用程序 该应用程序将从这个简单的目标开始 给定数据库中相关单词的列表 能够对单个字符串输入进行单词补全 换句话说 我已经知道数据库的内容 但算法的内存占用 速度
  • perl 和 java 正则表达式功能之间有什么区别?

    perl 和 java 在支持哪些正则表达式术语方面有什么区别 这个问题仅涉及正则表达式 并且特别排除了how可以使用正则表达式 即使用正则表达式的可用函数 方法 以及语言之间的语法差异 例如java要求转义反斜杠等 特别令人感兴趣的是 j
  • 在java中是否可以使用反射创建没有无参数构造函数的“空白”类实例?

    我有一个没有默认构造函数的类 我需要一种方法来获取此类的 空白 实例 空白 意味着实例化后所有类字段都应具有默认值 如 null 0 等 我问这个问题是因为我需要能够序列化 反序列化大对象树 而且我无法访问该对象类的源 并且类既没有默认构造
  • 我们必须将 .class 文件放在 Tomcat 目录中的位置

    我必须把我的 class文件在 Tomcat 目录中 在我的 Java Complete Reference 书中 他们告诉将其放入C Program Files Apache Tomcat 4 0 webapps examples WEB
  • Java 7 中 Object 和 int 的比较

    最近我偶然发现了一个问题 让我停下来思考 对我来说 下面的代码应该总是会触发错误 但是当我的一位同事问我为什么 Eclipse 没有显示错误时 我无法回答任何问题 class A public static void main String
  • Java中无参数的for循环

    我在看别人的代码 发现了这段代码 for 我不是 Java 专家 这行代码在做什么 起初 我认为这会创建一个无限循环 但在该程序员使用的同一个类中 while true 其中 如果我错了 请纠正我 是一个无限循环 这两个相同吗 为什么有人会
  • Akka 和 spring 配置

    我正在尝试将 akka 与 spring 结合起来 但没有成功 基本上 我的应用程序似乎不习惯读取 akka 模式 具有架构的 service context xml 的一部分
  • wsdl 没有服务元素

    我必须使用 WCF Web 服务并获得 WSDL 外部的 因此无法控制 WSDL 在 WSDL 定义中 我没有找到包含服务 端口和地址元素的服务元素 WSDL 中不存在这种情况正常吗 这对于 WCF WSDL 来说很常见吗 我正在尝试使用轴
  • Apache HttpClient TCP Keep-Alive(套接字保持活动)

    我的 http 请求需要太多时间才能被服务器处理 大约 5 分钟 由于连接闲置 5 分钟 代理服务器将关闭连接 我正在尝试在 Apache DefaultHttpClient 中使用 TCP Keep Alive 来使连接长时间处于活动状态

随机推荐

  • 聚类(K-means)实现手写数字识别

    其他实现手写数字识别的方法 1 KNN实现手写数字识别 2 卷积神经网络 CNN 实现手写数字识别 3 全连接神经网络实现手写数字识别 4 聚类 K means 实现手写数字识别 2 实验数据是老师收集了所有人的手写数字图片 且经过处理将图
  • 使用checkpoint遇到的问题

    使用checkpoint时 警告使用checkpoint时 警告UserWarning None of the inputs have requires grad True 原因 使用checkpoint 不能放在第一个位置 或者说放在第一
  • 如何采用conda配置python虚拟环境

    文章目录 一 创建python虚拟环境 二 配置刚创建的虚拟环境 三 将虚拟环境配置到相应项目 一 创建python虚拟环境 首先选中要配置环境的文件 如下 在此处输入cmd按回车 此处我创建一个环境名为hands3dtext 环境版本为3
  • 机器人毕业设计题目推荐/康复机器人、(三、四、五、六度机器人)、焊接机器人、履带式搜救机器人、管道机器人、关节机器人、码垛机器人、焊接机器人、爬壁机器人、扫地机器人、喷涂机器人、搬运机器人……

    机器人毕业设计题目共有2000多套 部分列表如下 上肢康复机器人结构设计 全套 本科毕业设计 论文 CAD图纸 开题报告 任务书 三自由度机械手 工业机器人 说明书 CAD图纸 三自由度焊接机器人设计 毕业设计说明书 论文 12份CAD图纸
  • Windows下安装Qt5.12.8(1)

    一 下载 Qt5 12 8 Index of archive qt 5 12 5 12 8 下载其他版本将链接对应数字替换即可 windows下载 exe linux下载 run mac下载 dmg 二 安装 1 双击下载后的可执行程序 点
  • 虚拟机支持本地nvme ssd

    提起存储都是血泪史 不知道丢了多少数据 脑子首先想到的就是 你说啥 洗脑神曲 我就像那个大妈一样 千万个问号 hdd是啥 ssd又是啥 mbr是啥 gpt又是啥 primary partion是啥 logical partion又是啥 sa
  • java日志管理-学习(二)

    log4j Log4j是Apache的一个开源项目 通过使用Log4j 我们可以控制日志信息输送的目的地是控制台 文件 GUI组件 甚至是套接口服务器 NT的事件记录器 UNIX Syslog守护进程等 我们也可以控制每一条日志的输出格式
  • unity3d pivot与center local与global

    local是指的自身的坐标 global指的是世界坐标 假如一个物体没有父物体 即这个物体不是某个物体的子物体 或者父物体的坐标为 0 0 0 这时候local和global的坐标是一样的 local坐标是相对与父物体的坐标 假如有父物体
  • Latex公式编号: 多行公式多编号,多行公式单编号

    目录 多行公式多编号 多行公式单编号 编号居中 多行公式无编号 多行公式多编号 有的行没有编号 一行公式分多行写 情况 case 划分 大括号单编号 大括号多编号 提示 begin align 与 begin equation 不能同时使用
  • 瞧瞧苹果OS X如何干掉Linux

    原文地址 http www csdn net article 2012 08 28 2809270 osx killed linux 摘要 如果你去过Facebook或者其它一些创业类科技公司 你会发现随处可见的Mac 无论是CEO还是开发
  • 【STM32学习】搭建一个简单的 keil5 工程

    一 安装 pack 支持包 pack是支持包文件 当你的板子连接到电脑时 keil5 怎么知道你的板子是哪个型号的 这就需要用到 pack 文件了 Keil 官方下载pack文件的地址 download device pack 我这里使用的
  • Mybatis的mapper对象注入到Spring容器中的过程

    整合的核心组件 MapperScan MapperScannerRegistrar ImportBeanDefinitionRegistrar ClassPathBeanDefinitionScanner FactoryBean 一 在Sp
  • 支配世界的几个重要算法

    算法应当具有以下三大重要特征才被视为拥有实际效果 应该是有限的 算法应该在有限的时间内用有限的步骤解决掉其旨在解决的问题 也就是说算法必须在有限的时间内可以完成 要不然就没有现实意义 应该具有明确的指令 算法中的每个步骤必须经过精确定义 同
  • QT编译安装QtMqtt子模块,Linux平台

    QT安装QtMqtt子模块 include文件夹和src文件夹 lib文件夹 mkspecs文件夹 错误修改 总结 系统 Windows10 环境 QT5 12 9 源码下载和源码的编译请参考 QT编译安装QtMqtt子模块 WIN平台 网
  • SerialPort类的用法与示例

    SerialPort类的用法与示例 文章目录 SerialPort类的用法与示例 1 串口硬件信号定义 2 串口端口号搜索 3 串口属性参数设置 4 串口发送信息 5 串口接收信息 串口工具类 串口使用注意事项 从Microsoft Net
  • [技术发展-16]:高级研修班-智能制造-重构工业制造体系,构建智能化工业互联网平台

    目录 作者主页 https blog csdn net HiWangWenBing 文章出处 https blog csdn net HiWangWenBing article details 118277050 前言 第一章 工业互联网平
  • CART-分类和回归树

    之前在博文 决策树归纳 中 我介绍了用决策树进行分类的算法 包括ID3和C4 5 然而决策树不仅可以用来做数据分类 也可用于做数据回归 1984年Breiman Friedman Olshen等人出版了著作 Classification a
  • 数据库原理期末考试题(经典题型)

    一 单选题 题数 4 共 20 0 分 1 在数据库的三级模式结构中 描述数据库中数据的全局逻辑结构和特征的是 A 外模式 B 内模式 C 存储模式 D 模式 我的答案 D 2 公司中有多个部门和多名职员 每个职员只能属于一个部门 一个部门
  • 必须收藏的python兼职网站大全

    当下python需求量还是挺大的 对于想要做兼职的程序员还是挺友好的 起码不用愁找不到 目前来看 其兼职方向大致有三 开发 爬虫 数据分析 就开发来说 目前python的轮子在Github上一抓一大把 开发成本和开发周期相比于其他语言会更低
  • 【Java】自动拆箱与自动装箱

    自动装箱 自动拆箱是 JDK1 5 提供的功能 自动装箱是把一个基本类型的数据直接赋值给对应的包装类型 自动拆箱是把一个包装类型的对象直接赋值给对应的基本类型 通过自动装箱 拆箱功能 可以大大简化基本类型变量和包装类对象之间的转换过程 Ja