Java SE入门及基础(56) 包装类

目录

1. 什么是包装类

2. 自动装箱和拆箱

自动装箱

自动装箱方法

示例

自动拆箱

自动拆箱方法

示例

3.字符串转数字的方法

示例


1. 什么是包装类

There are, however, reasons to use objects in place of primitives, and the Java platform provides wrapper classes for each of the primitive data types. These classes "wrap" the primitive in an object.
不论怎样,总有理由使用对象代替原始数据类型,并且 Java 平台为每种原始数据类型提供了包装类。 这些类将“ 原始数据类型 包装在对象中。

2. 自动装箱和拆箱

自动装箱

Often, the wrapping is done by the compiler—if you use a primitive where an object is expected, the compiler boxes the primitive in its wrapper class for you.
通常,包装是由编译器完成的 - 如果你在期望一个对象的地方使用原始数据类型,则编译器会为你将原始数据类型放入其包装类中

自动装箱方法

包装类名 . valueOf ( 原始数据类型的值 );

示例

// 变量 num 期望获取一个整数对象,但赋值时给定的是一个基本数据类型 int 值,此时编译器将会将 int值5 进行包装
// 调用的是 Integer.valueOf(5)
Integer num = 5 ;

自动拆箱

Similarly, if you use a number object when a primitive is expected, the compiler unboxes the object for you.
类似地,如果在期望使用基本数据类型的情况下使用包装类型,则编译器会为你解包该象。

自动拆箱方法

包装类对象 . xxxValue ();

示例

Integer num = new Integer ( 10 );
// 变量 a 期望获取一个基本数据类型的值,但赋值时给定的是一个引用数据类型的对象,此时编译器会将这个引用数据类型
// 的对象中存储的数值取出来,然后赋值给变量 a 。调用的是 num.intValue();
int a = num ;

3.字符串转数字的方法

  • Integer.parseInt("123") 将字符串类型的数字转换为整数
  • Long.parseLong("123") 将字符串类型的数字转换为长整数
  • Byte.parseByte("13") 将字符串类型的数字转换为字节
  • Short.parseShort("13") 将字符串类型的数字转换为短整数
  • Float.parseFloat("12.0f") 将字符串类型的数字转换为单精度浮点数
  • Double.parseDouble("123") 将字符串类型的数字转换为双精度浮点数
  • Boolean.parseBoolean("true") 将字符串类型的布尔值转换为布尔值

示例

int num = Integer . parseInt ( "11" );
float f = Float . parseFloat ( "12.5" );
short s = Short . parseShort ( "5" );
        注意: 如果字符串参数的内容无法正确转换为对应的基本类型,则会抛出 java.lang.NumberFormatException 异常。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

怎么用python将文件夹中的文件一键重命名

怎么用python将文件夹中的文件一键重命名 我有一个文件夹下全部是jpg和png的图片,但是名字参差不齐,我想用python将他们的名字有规律。 代码如下: import os import globdef rename_images(folder_path, new_name_prefix):# 获取文件夹中的…

终极版本的Typora上传到博客园和csdn

激活插件 下载网址是这个: https://codeload.github.com/obgnail/typora_plugin/zip/refs/tags/1.9.4 解压之后这样的: 解压之后将plugin,复制到自己的安装目录下的resources 点击安装即可: 更改配置文件 "dependencies&q…

24年新版!这份Excel+Python飞速搞定数据分析手册,简直可以让Excel飞起来

前⾔ 微软在 UserVoice 上运营着⼀个反馈论坛,每个⼈都可以在这⾥提交新点⼦供他⼈投票。票数最⾼的功能请求是“将 Python 作为Excel 的⼀门脚本语⾔”,其得票数差不多是第⼆名的两倍。尽管⾃2015 年这个点⼦发布以来并没有什么实质性进展,…

软件产品进行确认测试有什么好处?第三方软件测试机构分享

软件确认测试是一项旨在验证软件是否符合预期需求和规格的测试活动。通过确认测试,您可以确保软件的功能、性能和用户界面的符合程度,从而降低软件发布后出现问题的风险。 一、软件产品进行确认测试的好处   1、减少软件发布后修复问题的成本。通过及…

Postman如何在本地测试服务接口

项目架构及背景: 网关微服务多个业务微服务 服务部署在阿里云上,文件服务器用的是OSS。配置参数用Nacos进行统一管理。通过构建docker镜像包部署各业务微服务以及网关服务。 需求: 某一个业务微服务中开发了若干接口,需要在本地…

场外个股期权通道业务是什么意思?

今天带你了解场外个股期权通道业务是什么意思?场外个股期权业务是指在沪深交易所之外进行的个股期权交易。它是一种非标准化的合约,不在交易所内进行交割。 场外个股期权通道业务,是指投资者通过与场外个股期权机构通道签订合约,购…

初识形式化验证工具——CPN tools

安装链接:https://cpntools.org/category/downloads/ 学习链接:https://cs.au.dk/cpnets/industrial-use 成功安装软件: 右键新建/打开项目: 导入项目: 交互工具: 仿真运行:也是拖拽出来后&am…

探索Web Components

title: 探索Web Components date: 2024/6/16 updated: 2024/6/16 author: cmdragon excerpt: 这篇文章介绍了Web Components技术,它允许开发者创建可复用、封装良好的自定义HTML元素,并直接在浏览器中运行,无需依赖外部库。通过组合HTML模…

CNAS软件测试报告全国通用吗?如何获取CNAS软件测试报告?

CNAS是中国合格评定国家认可委员会的英文缩写,是我国负责认可和监管合格评定机构的国家级组织。CNAS软件测试报告是经过CNAS认可的软件测试机构出具的报告,它详细记录了被测试软件的测试结果、缺陷情况以及整体质量评估。 企业和用户通过查看CNAS软件测…

多环境镜像晋级/复用最佳实践

作者:木烟 本文主要介绍镜像构建部署场景,多环境镜像晋级/复用最佳实践,保证“所发即所测”。 场景介绍 应用研发场景有效地管理镜像产物是确保软件快速、安全、可靠部署的关键环节。通常一个应用研发需要经过测试、预发、生产各个阶段&am…

地图上绘制地铁线路

需求背景 不管是之前的pms 地铁还是location都会有需求涉及到地图上绘制地铁线路,来查看当前位置是否靠近地铁口,常规的交互可以看下高德地图,如图所示: 需求分析 不管是高德地图还是百度地图都提供了简易版的地铁线路图&#x…

【AI】通义千问使用指南:让你快速上手,成为问题解决高手!

大家好,我是木头左。 近日,继文心一言和讯飞星火之后,阿里虽迟但到,直接宣布开源两款“通义千问”大模型。作为国内首个开源且可商用的人工智能大模型,这会给我们带来哪些变化呢? 如何申请阿里通义千问&am…

RK3568技术笔记十二 Android编译方法

Android源码说明 Android源码在SAIL-RK3568开发板光盘->Android->源代码中,由于android源码太大,在进行压缩时,进行分包压缩,因此有4部分,如图所示: 进行解压时,需将4部分压缩包放置同一…

Redis的安装及详解

1.Redis介绍? 1.1 Redis是什么? Redis(Remote Dictionary Server,远程字典服务器)是一个开源免费的,用C语言编写的一个高性能的分布式内存数据库,基于内存运行并支持持久化的NoSQL数据库。是当前最热门的…

若依RuoYi-Vue分离版—富文本Quill的图片支持伸缩大小及布局

若依RuoYi-Vue分离版—富文本Quill的图片支持伸缩大小及布局、工具栏带中文提示 1.在vue.config.js 文件中添加 一下内容2.下载安装插件3.在Editor组件中引入插件4.使用Editor组件(特别注意要的加 v-if )5.bug 之 imageResize的 img的style丢失1.先创建一…

山东大学软件学院创新项目实训开发日志——收尾篇

山东大学软件学院创新项目实训开发日志——收尾篇 项目名称:ModuFusion Visionary:实现跨模态文本与视觉的相关推荐 -------项目目标: 本项目旨在开发一款跨模态交互式应用,用户可以上传图片或视频,并使用文本、点、…

Canonical Juju 的一个奇怪编排部署

一周前的一个项目扩容出现了异常,进行了操作回滚,未对线上业务造成损失。 现象是这样的: 通过基于 Canonical Juju-GUI 在一组节点上部署了某个组件,在把这组节点添加到集群后,有4个节点上出现了同一组件的2个instanc…

WDF驱动开发-计时器

WDF可以使用框架的内置计时器支持。 它适用于 Kernel-Mode Driver Framework (KMDF) 驱动程序,以及从版本 2 开始的 User-Mode Driver Framework (UMDF) 驱动程序。 框架提供了一个 计时器对象 ,使驱动程序能够创建计时器。 在驱动程序创建计时器对象并…

Scala语言:大数据开发的未来之星 - 零基础到精通入门指南

前言 随着大数据时代的到来,数据量的急剧增长为软件开发带来了新的挑战和机遇。Scala语言因其函数式编程和面向对象的特性,以及与Apache Spark的完美协作,在大数据开发领域迅速崛起,成为该领域的新兴宠儿。本篇将从零基础开始&…

Vue59-全局事件总线:任意组件间通信

一、原理图 只是总结出的经验,不是新的API! 二、x的要求: 1、保证x被所有组件看见; 2、x可以调用的到$on,才能绑定事件,还能调用到:$of, $emit; 三、x的创建&#xff…