Java 包装类

news2024/11/23 21:45:43

J a v a   包 装 类 \huge{Java \space 包装类} Java 

概述

所谓的包装类,通俗来讲其实就是 8 8 8种基本数据类型对应的引用类型(本质就是引用类型)。
在这里插入图片描述
❗❗❗尤其注意 c h a r char char对应的包装类的名称是 c h a r a c t e r character character i n t int int对应的包装类名称是 I n t e g e r Integer Integer

包装类的作用?(存在的意义?)

  1. J a v a Java Java恨不得把所有的东西都当作对象来看待,所以才会引入对应的 8 8 8种引用类型,实现了一切皆对象。
  2. 后续的集合和泛型只能支持包装类型,不能支持基本数据类型

包装类的使用

①. 自动装箱 and 自动拆箱

把基本类对应的包装类称作为“对应的箱子”,所以对于装箱和拆箱就有:
自动装箱:系统自动将基本类型转换为对应的包装类型并生成对象赋值。
自动拆箱:系统自动将包装类型中的数据拆分成为对应的基本类型并生成对象赋值。
示例:

//自动装箱
int a = 10;
Integer a1 = a;		//int类自动装箱成Integer类

//自动拆箱
Integer it = 100;
int it1 = it;		//Integer类自动拆箱成int类


//装拆综合
double db = 99.5
Double db2 = db;   //自动装箱
double db3 = db2; 	//自动拆箱

②. 包装类特有的功能

1. 包装类可以把基本类型的数据转换成为相应的字符串类型(基本没用

在这里插入图片描述
示例:

//调用包装类的toString()方法
//生成对应的String类
Integer i3 = 23;
String rs = i3.toString();
System.out.println(rs + 1);


//但是其实String中的 + 自己就可以搞定
//上面反而麻烦了
String rs2 = i3 + ""
System.out.println(rs2 + 1);

2. 包装类可以将字符串类型的数据转换为对应的基本类型(❗❗顶级有用)

在这里插入图片描述

String number = "23";
//将这个字符串转换为整数
//需要调用对应包装类型Ingeter的parseInt方法
int age = Integer.parseInt(number);
System.out.println(age + 1);

String number1 = "99.9";
//转换成小数
double score = Double.parseDouble(number1);
System.out.println(score + 0.1);

总之就是:
基本数据类型 变量名称 = 对应包装类.parse对应基本类型(字符串)

valueOf()
这个方法与 p a r s e X X X parseXXX parseXXX实际使用出来的效果一模一样,看下面的示例:

int age = Integer.valueOf(number);

double score = Double.valueOf(number1);

❗❗一个小细节
基本数据类型不可以赋值为null,但是引用数据类型可以赋值为null,同时引用数据类型可以赋值为0所以相比之下引用数据类型赋值更加严谨(加了把锁),可能这就是为什么后面的集合与泛型都是使用引用类型为基本类型吧(思索)。

③. 最后总结

包装类,就是一种对应于基本数据类型的特殊类,本质就是引用数据类型。可以与基本数据类型相互赋值(自动拆装箱),可以进行字符串与对应基本类型的相互转换(一般都是使用字符串转换为对应基本类型较多),相对于基本数据类型,引用数据类型更加保险!

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

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

相关文章

大数据学习:shell基础

文章目录一、常用shell命令任务一:查看/etc目录信息前5行信息任务二:查看/etc/profile文件后5行信息二、grep命令选项参数任务一:抓取/etc目录下的python信息任务二:抓取/etc/profile文件里的dev信息任务三:抓取用户数…

Revit运行很卡?这些招数你学会(废)了吗?

在日常的项目实施过程中,我们经常会感觉到Revit运行越来越慢。当然,和我们经常吐槽的软件本身有一定的关系,除此之外,根据我这些年的经验总结,规避掉以下问题可大幅度缓解Revit卡顿的问题。 01禁用结构分析选项 我们…

一条道简单的算法引发的思考

前言 新一季的 Rick&Morty 已经上线,剧集质量虽然有所下降,但 E03 中的 SheepCounter 挺有意思。自己照着剧中的设定开发了一款界面极其相似、交互更为丰富的小程序,小程序的终极目标只有一个:数羊!数羊&#xff…

大数据Kudu(六):Kudu Java Api操作

文章目录 ​​​​​​Kudu Java Api操作 一、​​​​​​​​​​​​​​添加Maven依赖

zos-open gb28181,rtsp,rtmp,hls直播储存回放,上下级级联

fslib框架 fslib框架是一套可运行于生产环境的支持c/c线程死锁,线程cpu资源统计,死机时自动记录死机所对应的源码位置的调试框架,部分功能支持php语言;fslib框架内置了很多实用库配置库(FsConfig)--支持向上向下兼容的配置模块,同时可以导出与导入json和…

Ajax(三)

1.form表单的基本使用 1.1 什么是表单 表单在网页中主要负责数据采集功能。HTML中的<form>标签&#xff0c;就是用于采集用户输入的信息&#xff0c;并通过<form>标签的提交操作&#xff0c;把采集到的信息提交到服务器端进行处理。 1.2 表单的组成部分 表单标签…

java+MySQL 基于ssm的网上定点餐外卖系统

网上订餐不是一蹴而就的事情,它需要的是线上线下的共同努力。对于线上来说,安全、稳定、功能完善的网站构建必不可少,这是主要的也是最重要的一部分,网站是“脸面”,好的脸面会吸引更多的顾客光顾。而对于线下来说,好的菜品是一个订餐网站的支柱,我们不能仅靠各色各样的图片满足…

mockito的详细使用

目录 1.概述 2.使用 2.1.依赖 2.2.校验 2.2.1.值校验 2.2.2.顺序校验 2.2.3.指定返回 2.3.注解 2.3.1.Mock 2.3.2.Spy 2.3.3.Captor 2.3.4.InjectMocks 1.概述 mock&#xff0c;一种JAVA单元测试技术&#xff0c;mock允许使用模拟对象替换测试中的系统部件&#xf…

【Redis】Redis 分布式锁

文章目录概述Redis 实现分布式锁加锁释放锁死锁概述 在单体项目中&#xff0c;我们处理多线程同时操作某一处代码块或者变量时就使用 Synchronized 或者 Lock 锁去保证数据的安全性&#xff0c;但是&#xff0c;现在我们基本上都是使用微服务&#xff0c;当我们把服务部署到多…

一文说透小程序插件及其作用价值

最近工作接触小程序插件比较多&#xff0c;就想着不如跟大家系统分享一下小程序插件相关的内容。 首先&#xff0c;我们要先弄清楚小程序插件究竟是什么&#xff1f; 简单来说&#xff0c;小程序插件就是可被添加到小程序内直接使用的功能组件。插件依附于主程序的辅助程序&a…

详解c++---string的介绍(上)

这里写目录标题什么是stringstring的构造函数string的赋值重载string的遍历第一种方式 [ ]第二种方式 范围for第三种方式 正向迭代器反向迭代器string中的capacitysize lengthmax_sizecapacityreserveresizeshrink_to_fitstring的element access什么是string 那这里大家就只用…

k8s编程operator实战之云编码平台——③Code-Server Pod访问实现

文章目录1、openresty介绍和安装2、实现code-server的反向代理3、动态反向代理实现启动多个code-server访问k8s编程operator系列&#xff1a;k8s编程operator——(1) client-go基础部分k8s编程operator——(2) client-go中的informerk8s编程operator——(3) 自定义资源CRDk8s编…

【提高代码可读性】—— 手握多个代码优化技巧、细数哪些惊艳一时的策略

回顾 前期 趁着下班前五分钟书写——Vue3通讯(常规写法、语法糖、v-modle、兄弟通讯)_0.活在风浪里的博客-CSDN博客Vue3 组件通讯https://blog.csdn.net/m0_57904695/article/details/128145150?spm1001.2014.3001.5501 目录 一、可选链接运算符【&#xff1f;.】 二、空…

AD20和立创EDA设计(2)提取立创EDA的原理图库和PCB库

&#xff08;1&#xff09;因为AD20需要自己画原理图库和PCB库。所以我建议新手先用立创EDA画好原理图&#xff0c;转换为PCB&#xff08;注意&#xff0c;只需要转换出PCB即可&#xff0c;因为我们需要立创EDA的PCB库。不懂没关系&#xff0c;后面就清楚了&#xff09; &#…

把随身WiFi的esim卡移植到SIM卡放到手机使用

esim移植到实体sim卡&#xff0c;手把手教你esim改实体卡操作 自用先机的棒子&#xff0c;3-5倍虚标&#xff0c;在单位用&#xff0c;网速还行就是信号不好&#xff0c;uz801_v3.0的板子&#xff0c;410单天线&#xff0c;没有改装潜力&#xff0c;发热还大&#xff0c;加了风…

炸裂!速度百倍提升,高性能 Python 编译器 Codon 火了!

众所周知&#xff0c;Python 是一门简单易学、具有强大功能的编程语言&#xff0c;在各种用户使用统计榜单中总是名列前茅。相应地&#xff0c;围绕 Python&#xff0c;研究者开发了各种便捷工具&#xff0c;以更好的服务于这门语言。 编译器充当着高级语言与机器之间的翻译官…

[附源码]Nodejs计算机毕业设计基于Web企业客户管理系统Express(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置&#xff1a; Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术&#xff1a; Express框架 Node.js Vue 等等组成&#xff0c;B/S模式 Vscode管理前后端分…

数据分析图表-FineReport 图表切换接口

1. 概述 1.1 问题描述 图表往往是按照从左往右或从右往左的顺序来切换。那么如何实现点击图表直接切换到其他不相邻的图表呢&#xff1f;效果如下图所示&#xff1a; 1.2 实现思路 给图表添加 JavaScript 类型的超级链接&#xff0c;调用图表接口FR.Chart.WebUtils.getChart(…

如何选择美股l2接口类型?

如何选择美股l2接口类型&#xff1f; 首先要选择稳定的美股l2接口&#xff0c;因为在进行股票行情分析的时候对于其数据的真实性和准确性都有很高的要求。不靠谱的数据平台容易造成数据传输卡顿&#xff0c;或数据获取不准确的情况&#xff0c;轻则影响企业运作&#xff0c;重…

SpringSecurity[6]-Thymeleaf中Spring Security的使用/退出登录/Spring Security中CSRF

上一篇:SpringSecurity[5]-基于表达式的访问控制/基于注解的访问控制/Remember Me功能实现 链接:SpringSecurity[4]-访问控制url匹配/内置访问控制方法介绍/角色权限判断_豆虫儿的博客-CSDN博客 十一、基于表达式的访问控制 十四、Thymeleaf中Spring Security的使用 Spring…