七,包装类

news/2024/10/20 20:38:29

Java 中的包装类详解

在 Java 中,基本数据类型(如 int, char, boolean 等)是不可变的,不能被继承或扩展。为了克服这些限制,Java 提供了包装类(Wrapper Classes),它们是基本数据类型的引用类型对应物。每个包装类都提供了相应的构造方法、静态工厂方法、常量和实用工具方法。

包装类的种类

Java 为每个基本数据类型提供了一个对应的包装类:

  • byte - Byte
  • short - Short
  • int - Integer
  • long - Long
  • float - Float
  • double - Double
  • boolean - Boolean
  • char - Character

包装类的方法

Integer

// 创建 Integer 对象
Integer num1 = new Integer(10);
Integer num2 = Integer.valueOf(20);// 比较两个 Integer 对象
boolean isEqual = num1.equals(num2); // false// 获取 int 值
int intValue = num1.intValue(); // 10// 转换为字符串
String toString = num1.toString(); // "10"// 与字符串相互转换
Integer valueOf = Integer.valueOf("30");
String toString2 = Integer.toString(30);// 进制转换
String binaryString = Integer.toBinaryString(10); // "1010"
String octalString = Integer.toOctalString(10); // "12"
String hexString = Integer.toHexString(10); // "a"// 解析字符串为整数
int parseInt = Integer.parseInt("40"); // 40// 范围检查
boolean isBetween = (10 >= Integer.MIN_VALUE) && (10 <= Integer.MAX_VALUE); // true

Character

// 创建 Character 对象
Character ch1 = new Character('A');
Character ch2 = Character.valueOf('B');// 比较两个 Character 对象
boolean isEqual = ch1.equals(ch2); // false// 判断字符是否为大写
boolean isUpperCase = Character.isUpperCase(ch1); // true// 判断字符是否为小写
boolean isLowerCase = Character.isLowerCase(ch2); // true// 判断字符是否为数字
boolean isDigit = Character.isDigit('5'); // true// 转换为大写
char toUpperCase = Character.toUpperCase(ch2); // 'B'// 转换为小写
char toLowerCase = Character.toLowerCase(ch1); // 'a'// 获取字符数字值
int digitValue = Character.digit('5', 10); // 5

包装类的自动装箱与拆箱

Java 5 引入了自动装箱(Autoboxing)和拆箱(Unboxing)的特性,允许基本数据类型和它们的包装类之间自动转换。

// 自动装箱
int num = 10;
Integer boxedNum = num; // 自动装箱// 自动拆箱
int unboxedNum = boxedNum; // 自动拆箱

总结

包装类为基本数据类型提供了引用类型的特性,如对象引用、继承和多态。它们还提供了许多实用的方法,用于执行类型转换、字符串处理和范围检查等操作。自动装箱和拆箱的特性使得基本数据类型和包装类之间的转换更加方便和直观。通过理解和使用包装类,可以更有效地处理 Java 程序中的数据类型转换和操作。

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

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

相关文章

黑马JavaWeb-day01

Web:全球广域网,也称为万维网(www World Wide Web),能够通过浏览器访问的网站。 web网站的工作流程:网页由哪些部分组成:文字、图片、音频、视频、超链接 我们看到的网页背后的本质:前端代码 前端代码是如何转化成用户眼中的网页?:通过浏览器的解析和渲染转化成用户看到…

count(*)、count(1)哪个更快?面试必问:通宵整理的十道经典MySQL必问面试题

一、你是如何理解Count(*)和Count(1)的? 这两个并没有区别,不要觉得 count() 会查出全部字段,而 count(1) 不会。所以 count() 会更慢,你觉得 MySQL 作者会这么做吗? 可以很明确地告诉你们 count() 和 count(1) 是一样的,而正确有区别的是 count(字段)。如果你 count() 的…

重构案例:将纯HTML/JS项目迁移到Webpack

我们已经了解了许多关于 Webpack 的知识,但要完全熟练掌握它并非易事。一个很好的学习方法是通过实际项目练习。当我们对 Webpack 的配置有了足够的理解后,就可以尝试重构一些项目。本次我选择了一个纯HTML/JS的PC项目进行重构,项目位于 GitHub 上,非常感谢该项目的贡献者。…

最小体积拉取git仓库并保持可更新

对于超大型的git 仓库不需要提交只是拉取代码进行查看并希望保持代码更新,那么使用depth不仅能得到极小体积的仓库还能大大提速拉取时间对于超大型的git 仓库不需要提交只是拉取代码进行查看并希望保持代码更新,那么使用depth不仅能得到极小体积的仓库还能大大提速拉取时间 拉…

2024-2025-1 20241308 《计算机基础与程序设计》第四周学习总结

作业信息 这个作业属于哪个课程 https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP 这个作业要求在哪里 https://www.cnblogs.com/rocedu/p/9577842.html#WEEK04 这个作业的目标 <门电路 组合电路,逻辑电路 冯诺依曼结构 CPU,内存,IO管理 嵌入式系统,并行结构 物理…

如何确认Windows电脑是否支持安装苹果系统?

Windows上安装苹果系统,无论是本地磁盘多系统共存安装还是通过虚拟机安装,不是所有电脑都支持,必须得硬件支持才行,不然会出现各种问题。以下是关于如何确认电脑是否支持安装黑苹果?的主要内容,如果未能解决你的问题,请参考其他文章: https://www.cnblogs.com一、查看硬件…

使用MySQL之创建计算字段

1. 创建计算字段 存储在数据库表中的数据一般不是应用程序所需要的格式。下面举几个例子。如果想在一个字段中既显示公司名,又显示公司的地址,但这两个信息一般包含在不同的表列中。城市、州和邮政编码存储在不同的列中(应该这样),但邮件标签打印程序却需要把它们作为一个…

如何自动识别CAD图中所有表格数据并导出

在CAD图中自动识别并导出表格数据,是相关领域数据处理的重要需求。由于CAD图形并不像传统的电子表格那样具备明确的行列关系,表格常以线条和文本形式存在,手动提取不仅费时费力,还容易出错。如何通过自动化工具通过图形解析快速、高效地识别表格结构,提取数据并导出至Exce…