【Java SE】包装器

Java 中,每种基本数据类型都有一个对应的类。例如,int 对应于 Integer 类。其他基本数据类型也有类似的对应关系,如下表所示。这些类被称为 “包装器(Wrapper)”。包装器类的作用是对基本数据类型进行封装,并提供额外的功能。这些功能包括方法和属性,旨在支持更广泛的使用场景。通过使用包装器,我们可以更方便地处理数据,比如将基本类型转换为对象、进行集合操作等。

注意:包装器类是不可变的,一旦构造了包装器,就不允许更改包装在其中的值。同时,包装器类还是final类型,因此不能派生子类。

基本数据类型包装类
booleanBoolean
charCharacter
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble

一、装箱与拆箱

Java 中,将基本数据类型转换为对应的包装器类型的过程称为“装箱”,而将包装器类型转换回基本数据类型的过程称为“拆箱”。在 JDK 5 之前,装箱和拆箱需要手动进行,这通常涉及调用 valueOf 方法。自 JDK 5 起,Java 引入了自动装箱和拆箱的特性,使得这一过程变得更加简单和方便。尽管如此,自动装箱和拆箱的底层实现仍然是调用 valueOf 方法。下面是 int 类型手动装拆箱与自动装拆箱的代码示例。

// 手动装箱
int n1 = 100;
Integer integer11 = new Integer(n1);
Integer integer12 = Integer.valueOf(n1);
// 手动拆箱
int m1 = integer11.intValue();// 自动装箱与拆箱
int n2 = 200;
Integer integer2 = n2; // 底层使用 Integer.valueOf(n2);
int m2 = integer2; // 底层使用 intValue();

注意:1)包装类引用可以为 null,自动装箱有可能抛出异常;2)如果混合使用 IntegerDouble 类型,Integer 值会先拆箱,提升为 double,再装箱为 Double;3)装箱和拆箱由编译器执行,而不是虚拟机,编译器生成类的字节码时会插入必要的方法调用,虚拟机负责执行字节码。

二、字符串转换数值

当我们需要将一个数字字符串转换为数值时,使用包装类的静态方法会非常方便。例如,要将数字字符串 s 转换为整数,可以使用 Integer.parseInt(s) 方法。其他数值类型的包装类也提供了类似的转换方法,方便我们进行不同类型的数值转换。

String s = "123456";
int x = Integer.parseInt(s);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/11871.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

CVPR力推!预训练+医学图像这么玩,审稿人都得为你让条路!

最近发现Nature、CVPR、NeurIPS等顶会顶刊上,涌现了不少预训练医学图像的文章,不仅效果拔群,思路也很有启发性。 像是Nature上的REFERS,便颠覆了传统方法,使标注数据量直降90%!此外还有CVPR24上…

Spark 共享变量:广播变量与累加器解析

Spark 的介绍与搭建:从理论到实践_spark环境搭建-CSDN博客 Spark 的Standalone集群环境安装与测试-CSDN博客 PySpark 本地开发环境搭建与实践-CSDN博客 Spark 程序开发与提交:本地与集群模式全解析-CSDN博客 Spark on YARN:Spark集群模式…

基于Matlab 疲劳驾驶检测

Matlab 疲劳驾驶检测 课题介绍 该课题为基于眼部和嘴部的疲劳驾驶检测。带有一个人机交互界面GUI,通过输入视频,分帧,定位眼睛和嘴巴,通过眼睛和嘴巴的张合度,来判别是否疲劳。 二、操作步骤 第一步:最…

强化学习不愧“顶会收割机”!2大创新思路带你上大分,毕业不用愁!

强化学习之父Richard Sutton悄悄搞了个大的,提出了一个简单思路:奖励聚中。这思路简单效果却不简单,等于是给几乎所有的强化学习算法上了一个增强buff,所以这篇论文已经入选了首届强化学习会议(RLC 2024)&a…

个人记录。改错huggingface,离线使用

huggingface_hub.utils._errors.LocalEntryNotFoundError: Connection error, and we cannot find the requested files in the disk cache. Please try again or make sure your Internet connection is on. 下载 true改false

【计算机网络】网络框架

一、网络协议和分层 1.理解协议 什么是协议?实际上就是约定。如果用计算机语言进行表达,那就是计算机协议。 2.理解分层 分层是软件设计方面的优势(低耦合);每一层都要解决特定的问题 二、网络传输基本流程 1.预备…

C++练习 字符串反转

从界面上输入一个C风格的字符串&#xff0c;如果输入的是"abc"&#xff0c;反转后"cba"。 要求&#xff1a; 1&#xff09;反转的结果存放在另一字符串中。 2&#xff09;原地反转&#xff0c;不借助其它的字符串。 #include <iostream> using n…

Postman常见问题及解决方法

软件测试资料领取&#xff1a;[内部资源] 想拿年薪40W的软件测试人员&#xff0c;这份资料必须领取~ 软件测试面试刷题工具&#xff1a;软件测试面试刷题【800道面试题答案免费刷】 1、网络连接问题 如果Postman无法发送请求或接收响应&#xff0c;可以尝试以下操作&#xf…

LED和QLED的区别

文章目录 1. 基础背光技术2. 量子点技术的引入3. 色彩表现4. 亮度和对比度5. 能效6. 寿命7. 价格总结 LED和 QLED都是基于液晶显示&#xff08;LCD&#xff09;技术的电视类型&#xff0c;但它们在显示技术、色彩表现和亮度方面有一些关键区别。以下是两者的详细区别&#xff…

光流法(Optical Flow)

一、简介 光流法&#xff08;Optical Flow&#xff09;是一种用于检测图像序列中像素运动的计算机视觉技术。其基于以下假设&#xff1a; 1.亮度恒定性假设&#xff1a;物体在运动过程中&#xff0c;其像素值在不同帧中保持不变。 2.空间和时间上的连续性&#xff1a;相邻像素之…

400. 第 N 位数字

目录 题目解法 题目 给你一个整数 n &#xff0c;请你在无限的整数序列 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, …] 中找出并返回第 n 位上的数字。 解法 class Solution { public:int findNthDigit(int n) {int low 1, high 9;while (low < high) {int mid (high - lo…

FlinkPipelineComposer 详解

FlinkPipelineComposer 详解 原文 背景 在flink-cdc 3.0中引入了pipeline机制&#xff0c;提供了除Datastream api/flink sql以外的一种方式定义flink 任务 通过提供一个yaml文件&#xff0c;描述source sink transform等主要信息 由FlinkPipelineComposer解析&#xff0c…

10款音频剪辑推荐!!你的剪辑好帮手!!

在如今的数据化浪潮中&#xff0c;工作已经采用了线上线下相结合。我的工作就需要借助一些剪辑工具&#xff0c;来实现我对音频工具的剪辑。我初次接触到音频剪辑也是因为工作需求&#xff0c;从起初我只是一个音频剪辑的小白&#xff0c;这些工具的协助。吸引着我。对于这些工…

智能检测技术与传感器(热电传感器四个定律)

热电传感器&#xff1a; 两种不同的导体两端相互紧密地连接在一起&#xff0c;组成一个闭合回路。当两接点温度不等时&#xff08;设 &#xff09;&#xff0c;回路中就会产生大小和方向与导体材料及两接点的温度有关的电动势&#xff0c;从而形成电流&#xff0c;这种现象称为…

Ubuntu 20.04配置ollama并下载安装调用本地大语言模型

Ubuntu 20.04配置ollama并下载安装调用本地大语言模型 ollama 介绍(来自ChatGPT)主要特点 ollama开发环境预配置ollama在ubuntu下的安装直接安装压缩包安装创建开机ollama的脚本启动ollama ollama在ubuntu下的运行 ollama 介绍(来自ChatGPT) Ollama 是一种新的本地语言模型管理…

多点支撑:滚珠导轨的均匀分布优势!

滚珠导轨的滚珠稳定性可以有效保持滚珠导轨的稳定运行&#xff0c;减少滚珠脱落的风险&#xff0c;确保设备的长期稳定性和可靠性。事实上&#xff0c;滚珠导轨的滚珠稳定性主要依赖于以下几个方面&#xff1a; 1、精密的制造工艺&#xff1a;滚珠导轨的导轨和滑块通常采用高精…

轻松搭建在线文档管理系统:BookStack的Docker部署与远程访问指南

前言 本文将介绍如何在Linux系统上利用Docker本地部署在线文档管理系统BookStack&#xff0c;并通过cpolar内网穿透工具实现异地远程访问&#xff0c;无需公网IP或复杂的路由器设置。 BookStack是一个开源的知识管理平台&#xff0c;基于Laravel Vue.js构建。它提供了一个简…

【代码及应用】10个最常用的Python包!

世界上有超过200,000个Python程序包&#xff08;这只是基于官方的Python程序包索引PyPI托管的程序包&#xff09;这就引出了一个问题&#xff1a;拥有这么多的软件包&#xff0c;每个Python程序员都需要学习哪些软件包是最重要的&#xff1f; 包含编程资料、学习路线图、源代码…

Java面试要点01- 基本数据类型与包装类详解

本文目录 一、引言二、基本数据类型详解2.1 数值类型2.2 代码示例 三、包装类详解3.1 包装类介绍3.2 包装类的主要用途3.3 代码示例 四、注意事项和最佳实践4.1 数值计算注意事项4.2 包装类使用建议 五、面试重点详解5.1 基本类型和包装类的区别5.2 自动装箱和拆箱的原理5.3 In…

铠侠代理商 | KIOXIA SLC闪存选型和应用

一、铠侠&#xff08;KIOXIA&#xff09;的SLC闪存系列 铠侠SLC NAND可以高速写入大量数据&#xff0c;具有高的擦写次数耐久性和可靠性的1位/单元非易失性存储器。铠侠SLC NAND闪存产品系列具有多种容量和封装形式的选择&#xff0c;可满足嵌入式市场的不同需求。 铠侠的SLC…