Java 中的包装类是什么?如何使用包装类来操作基本数据类型(二十二)

news/2024/11/29 8:49:45/

Java 中的包装类是一种特殊的类,用来将基本数据类型(如 int、double、char 等)包装成对象。包装类的作用是可以让基本数据类型具有对象的特性,比如可以作为参数传递给泛型类或方法,可以调用对象的方法,可以存储在集合中等。

Java 中为每种基本数据类型都提供了一个对应的包装类,如下表所示:

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

要使用包装类,首先需要创建包装类的对象。创建包装类的对象有两种方式:一种是使用构造方法,另一种是使用静态方法 valueOf。例如,下面是两种创建 Integer 对象的方式:

// 使用构造方法
Integer i1 = new Integer(10); // 创建一个值为 10 的 Integer 对象
// 使用静态方法 valueOf
Integer i2 = Integer.valueOf(20); // 创建一个值为 20 的 Integer 对象

创建了包装类的对象后,就可以使用包装类的方法来操作基本数据类型了。包装类提供了一些常用的方法,如下表所示:

方法名说明
intValue返回该对象对应的 int 值
doubleValue返回该对象对应的 double 值
charValue返回该对象对应的 char 值
booleanValue返回该对象对应的 boolean 值
compareTo比较该对象和另一个对象的大小,返回负数、零或正数
equals判断该对象和另一个对象是否相等
toString返回该对象的字符串表示
parseXXX将一个字符串解析成对应的基本数据类型,如 parseInt、parseDouble 等
valueOf将一个基本数据类型或字符串转换成对应的包装类对象

例如,下面是一些使用包装类方法的例子:

// 使用 intValue 方法
int i3 = i1.intValue(); // 将 i1 对象转换成 int 值
System.out.println(i3); // 输出 10// 使用 compareTo 方法
int i4 = i1.compareTo(i2); // 比较 i1 和 i2 的大小
System.out.println(i4); // 输出 -1// 使用 parseDouble 方法
double d1 = Double.parseDouble("3.14"); // 将字符串 "3.14" 解析成 double 值
System.out.println(d1); // 输出 3.14// 使用 valueOf 方法
Boolean b1 = Boolean.valueOf(true); // 将 boolean 值 true 转换成 Boolean 对象
System.out.println(b1); // 输出 true

除了使用包装类的方法外,还可以使用自动装箱和自动拆箱来简化代码。自动装箱是指将基本数据类型自动转换成对应的包装类对象;自动拆箱是指将包装类对象自动转换成对应的基本数据类型。例如,下面是一些使用自动装箱和自动拆箱的例子:

// 自动装箱
Integer i5 = 30; // 相当于 Integer i5 = Integer.valueOf(30);
Double d2 = 3.14; // 相当于 Double d2 = Double.valueOf(3.14);// 自动拆箱
int i6 = i5; // 相当于 int i6 = i5.intValue();
double d3 = d2; // 相当于 double d3 = d2.doubleValue();// 自动装箱和自动拆箱可以用在运算中

http://www.ppmy.cn/news/62768.html

相关文章

实现vercel的反向代理

实现 vercel 的反向代理 文章目录 实现 vercel 的反向代理vercel简介前言反向代理那么如何实现vercel的反向代理的呢? vercel简介 Vercel 是一家云服务提供商,旨在使 Web 应用程序的部署变得更加简单和快速。Vercel 的核心产品是 Next.js,它是…

scratch判断亲和数 中国电子学会图形化编程 少儿编程 scratch编程等级考试四级真题和答案解析2023年3月

目录 scratch判断亲和数 一、题目要求 1、准备工作 2、功能实现 二、案例分析 <

力扣题库刷题笔记704-二分查找

1、题目如下&#xff1a; 2、个人Python代码如下&#xff1a; 个人代码如下&#xff1a; class Solution: def search(self, nums: List[int], target: int) -> int: left 0 right len(nums) - 1 while left < right: mid (right left) >> 1 if nums[mid] >…

万字长文 - Nature 综述系列 - 给生物学家的机器学习指南 4 (生物应用的挑战)...

万字长文 - Nature 综述系列 - 给生物学家的机器学习指南 1 万字长文 - Nature 综述系列 - 给生物学家的机器学习指南 2 &#xff08;传统机器学习方法如何选择&#xff09; 万字长文 - Nature 综述系列 - 给生物学家的机器学习指南 3 &#xff08;人工神经网络&#xff09; 生…

使用 SaleSmartly 实时聊天提高转化率

在竞争激烈的电子商务环境中&#xff0c;很难给客户留下持久的印象&#xff0c;与他们建立关系更加困难。但是&#xff0c;提供个性化的体验和产品是超越竞争对手的最佳方式之一。这就是为什么许多跨境电子商务企业将与客户的个性化沟通作为他们的首要任务。 SaleSmartly&#…

Softing线上研讨会 | 轻松访问XML文件中的过程数据

| 线上研讨会时间&#xff1a;2023年5月8日下午4点或晚上10点 对于传统车间的系统应用和创新的物联网解决方案而言&#xff0c;高效访问机器和流程数据至关重要。而在现有工厂中&#xff0c;过程数据通常以XML文件的形式出现。对此&#xff0c;Softing Industrial提供了一个用…

Qt的Model/View结构

Model/View结构 将界面组件与所编辑的数据分离开来&#xff0c;又通过数据源的方式连接起来&#xff0c;是处理界面与数据的一种较好的方式。Qt使用Model/View结构来处理这种关系&#xff0c;Model/View的基本结构如图5-1所示。其中各部分的功能如下。 图1 Model/View基本结构…

PyQt5桌面应用开发(8):从QInputDialog转进到函数参数传递

本文目录 PyQt5桌面应用系列How old are you, Dialog?QInputDialog minimalistwhy not lambdaand how partial worksSummary PyQt5桌面应用系列 PyQt5桌面应用开发&#xff08;1&#xff09;&#xff1a;需求分析 PyQt5桌面应用开发&#xff08;2&#xff09;&#xff1a;事件…