Java包装类

在Java中不能自己定义基本数据类型对象,为了将基本数据类型视为对象进行处理,并能连接相关方法,Java为每个基本数据类型都提供了【包装类】如int型数值的包装类【Integer】,boolean型数值的包装类【Boolean】,这样就可以把这些基本数据类型转换为对象来处理了。
java.lang包中的Integer类,Long类,Short类,可以将基本数据类型int,long,short封装成一个类,这些类都是Number的子类,区别就是封装了不同的数据类型。
1.Integer
Integer类在对象中包装了一个基本类型int的值,该类的对象包含一个int类型的字段,此外,该类提供了多种方法,能 在int类型和String类型之间互相转换。
1.1构造方法
Integer类有2种构造方法:
1.1.1 Integer(int number)
以int型变量为参数创建Integer对象。
Integer number = new Integer(7);
1.1.2 Integer(String str)
以String型变量为参数创建Integer对象。
Integer number = new Integer("45");
1.2 常用方法
| 方法 | 返回值 | 功能描述 |
| Integer.byteValue() | byte | 以byte类型返回该Integer的值 |
| Integer.shortValue() | short | 以short类型返回该Integer的值 |
| Integer.intValue() | int | 以int类型返回该Integer的值 |
| Integer.toString() | String | 返回一个表示该Integer值的String对象 |
| Integer.valueOf(String str) | Integer | 返回保存指定String值的Integer对象 |
| Integer.parseInt(String str) | int | 返回包含在由str指定的字符串中的数字的等价整数型 |
| Integer.compareTo(Integer anotherInteger) | int | 在数字上比较2个Integer对象,如果这2个对象相等,则返回0;如果调用对象的数值小于anotherInteger的数值,则返回负值;如果调用对象的数值大于anotherInteger的数值,则返回正值 |
| Integer.equals(Object IntegerObj) | boolean | 比较此对象与另一个对象是否相等 |
package classInfo;public class summation {public static void main(String[] args) {String[] str = {"89", "12", "10", "18", "35"};int sum = 0;//实现将String数组的原酸都转换为int型for (int i = 0; i < str.length; i++) {int myInt = Integer.parseInt(str[i]);sum = sum + myInt;}System.out.println("String数组中的各元素之和=" + sum);}
}输出:String数组中的各元素之和=164
package classInfo;public class Charac {public static void main(String[] args){String str1 = Integer.toString(456); //将Integer对象转换为十进制字符串表示String str2 = Integer.toBinaryString(456); //将Integer对象转换为二进制表示String str3 = Integer.toHexString(456); //将Integer对象转换为十六进制表示String str4 = Integer.toOctalString(456); //将Inter对象转换为八进制表示System.out.println("456的十进制表示为:"+str1);System.out.println("456的二进制表示为:"+str2);System.out.println("456的十六进制表示为:"+str3);System.out.println("456的八进制表示为:"+str4);}
}输出:456的十进制表示为:456456的二进制表示为:111001000456的十六进制表示为:1c8456的八进制表示为:710
1.3 常量
Integer类提供了4个常量:
1.3.1 MAX_VALUE
表示int类型可取的最大值,即2^31 -1。
1.3.2 MIN_VALUE
表示int类型可取的最小值,即-2^31。
1.3.3 SIZE
用来以二进制补码形式表示int值的位数。
1.3.4 TYPE
表示基本类型int的class实例。
package classInfo;public class GetCon {public static void main(String[] args){int maxInt = Integer.MAX_VALUE; //获取int类型的可取最大值int minInt = Integer.MIN_VALUE; //获取int类型的可取最小值int intSize = Integer.SIZE; //获取int类型的二进制位数System.out.println("int类型可取最大值是:"+maxInt);System.out.println("int类型可取最小值是:"+minInt);System.out.println("int类型的二进制位数是:"+intSize);}
}输出:int类型可取最大值是:2147483647int类型可取最小值是:-2147483648int类型的二进制位数是:32
2.Boolean
Boolean类将基本类型为boolean的值包装在一个对象中,一个Boolean类型的对象只包含一个类型为boolean的字段,此外,Boolean类还为boolean何String的相互转换提供了许多方法。
2.1 构造方法
2.1.1 Boolean(boolean value)
创建一个表示value参数的Boolean对象
Boolean b = new Boolean(true);
2.1.2 Boolean(String str)
创建一个以String变量为参数的Boolean对象,如果String参数不为null且忽略大小写时等于true,则分配一个表示true值的Boolean对象,否则获得一个false值的Boolean对象。
Boolean bool = new Boolean("ok");
package classInfo;public class GetBoolean {public static void main(String[] args) {Boolean b1 = new Boolean(true); //输出:trueBoolean b2 = new Boolean("True"); //输出:trueBoolean b3 = new Boolean(null); //输出:falseBoolean b4 = new Boolean("ok"); //输出:falseBoolean b5 = new Boolean("1"); //输出:falseSystem.out.println(b1);System.out.println(b2);System.out.println(b3);System.out.println(b4);System.out.println(b5);}
}输出:truetruefalsefalsefalse
2.2 常用方法
| 方法 | 返回值 | 功能描述 |
| Boolean.booleanValue() | boolean | 将Boolean对象的值以对应的boolean值返回 |
| Boolean.equals(Object obj) | boolean | 判断调用该方法的对象与obj是否相等。当且仅当参数不为null,且与调用该方法的对象一样都表示同一个boolean值的Boolean对象是,才返回true |
| Boolean.parseBoolean(String str) | boolean | 将字符串参数解析成boolean值 |
| Boolean.toString() | String | 返回表示该boolean值的String对象 |
| Boolean.valueOf(String str) | boolean | 返回一个指定的字符串表示值的boolean值 |
package classInfo;import com.sun.org.apache.xpath.internal.operations.Bool;public class GetBoolean {public static void main(String[] args) {Boolean b1 = new Boolean(true); //创建Boolean对象Boolean b2 = new Boolean("ok"); //创建Boolean对象System.out.println("b1:" + b1.booleanValue());System.out.println("b2:" + b2.booleanValue());}
}输出:b1:trueb2:false
2.3 常量
Boolean提供了3个常量:
2.3.1 TRUE
对应基值true的Boolean对象;
2.3.2 FALSE
对应基值false的Boolean对象;
2.3.3 TYPE
基本类型boolean的class对象;
3.Byte
Byte类将基本类型为byte的值包装在一个对象中,一个Byte类型的对象只包含一个类型为byte的字段;此外,Byte类还为byte和String的互转提供了方法。
3.1 构造方法
Byte类提供了2种构造方法的重载形式来创建Byte类对象。
3.1.1 Byte(byte value)
以byte型变量为参数创建Byte对象
byte mybyte = 45;
Byte b = new Byte(mybyte);
3.1.2 Byte(String str)
以String型变量为参数创建Byte对象
Byte b = new Byte("12");
3.2 常用方法
| 方法 | 返回值 | 功能描述 |
| Byte.byteValue() | byte | 以一个byte值返回Byte的对象 |
| Byte.intValue() | int | 以一个int值返回Byte对象 |
| Byte.doubleValue() | double | 以一个double值返回此Byte的值 |
| Byte.valueOf(String str) | byte | 返回一个保持指定String所给出的值Byte对象 |
| Byte.toString() | String | 返回表示此Byte的值的String对象 |
| Byte.equals(Object obj) | boolean | 将此对象与指定对象比较,如果此对象与obj相等,则返回true,否则返回false |
| Byte.parseByte(String str) | byte | 将String型参数解析成等价的字节(byte)形式 |
| Byte.compareTo(Byte anotherByte) | int | 在数字上比较两个Byte对象,如果这2个对象相等,则返回0;如果调用对象的数值小于anotherByte的数值,则返回负值;如果调用对象的数值大于anotherByte的数值,则返回正值 |
3.3 常量
Byte类中提供4个常量:
3.3.1 MIN_VALUE
byte类型可取的最小值
3.3.2 MAX_VALUE
byte类型可取的最大值
3.3.3 SIZE
用于二进制补码形式表示byte值的位数
3.3.4 TYPE
表示基本类型byte的class实例
4.Character
Character类在对象中包装一个基本类型为char的值,一个Character类型的对象包含类型为char的单个字段,该类提供了几种方法,以确定字符的类别(大小写字母,数字等),并将字符从大写转换成小写,从小写转换成大写。
4.1 构造方法
4.1.1 Character(char value)
该类的构造函数必须是一个char类型的数据。通过该构造函数创建的Character类对象包含由char类型参数提供的值,一旦Character类被创建,它包含的数值就不能改变了。
Character mychar = new Character('s');
4.2 常用方法
| 方法 | 返回值 | 功能描述 |
| Character.charValue() | char | 返回此Character对象的值 |
| Character.compareTo(Character anotherCharacter) | int | 在数字上比较两个Character对象,如果这2个对象相等,则返回0;如果调用对象的数值小于anotherCharacter的数值,则返回负值;如果调用对象的数值大于anotherCharacter的数值,则返回正值 |
| Character.equals(Object obj) | boolean | 将调用该方法的对象与指定对象相比较是否想相等 |
| Character.toString() | String | 返回一个表示指定char值的String对象 |
| Character.toUpperCase(char ch) | char | 将字符参数转换为大写 |
| Character.toLowerCase(char ch) | char | 将字符参数转为小写 |
| Character.isUpperCase(char ch) | boolean | 判断指定字符是否为大写字符 |
| Character.isLowerCase(char ch) | boolean | 判断指定字符是否为小写字符 |
package classInfo;public class UpperOrLower {public static void main(String[] args) {Character mychar1 = new Character('A'); //声明Character对象Character mychar2 = new Character('a');System.out.println(mychar1 + "是大写字母吗?:" + Character.isUpperCase(mychar1));System.out.println(mychar2 + "是小写字母吗?:" + Character.isLowerCase(mychar2));}
}输出:A是大写字母吗?:truea是小写字母吗?:true
4.3 常量
Character提供了大量表示特定字符的常量。
4.3.1 CONNECTOR_PUNCTUATION
返回byte型值,表示Unicode规范中的常规类别”Pc".
4.3.2 UNASSIGNED
返回byte型值,表示Unicode规范中的常规类别“Cn”。
4.3.3 TITLECASE_LETTER
返回byte型值,表示Unicode规范中的常规类别“Lt”。
5.Double/Float
Double和Float包装类是对double,float基本类型的封装,他们都是Number类的子类,又都是对小数进行操作,所以常用方法基本相同。
Double类在对象中包装一个基本类型为double的值。每个Double类的对象都包含一个double类型的字段,此外,该类还提供多个方法,可以将double转换为String,也可以将String转换为double.
5.1 构造方法
Double类提供了2中构造方法来获得Double类对象:
5.1.1 Double(double value)
基于double参数创建Double对象。
5.1.2 Double(String str)
用字符串表示的double类型的浮点值来创建Double对象。
5.2 常用方法
| 方法 | 返回值 | 功能描述 |
| Double.byteValue() | byte | 以byte形式返回Double对象的值(强制转换) |
| Double.intValue() | int | 以int形式返回Double对象的值 |
| Double.longValue() | long | 以long形式返回Double对象的值 |
| Double.doubleValue() | double | 以doulbe形式返回Double对象的值 |
| Double.compareTo(Double d) | int | 在数字上比较两个Double对象,如果这2个对象相等,则返回0;如果调用对象的数值小于Double的数值,则返回负值;如果调用对象的数值大于Double的数值,则返回正值 |
| Double.equals(Object obj) | boolean | 将此对象与指定的对象比较 |
| Double.valueOf(String str) | Double | 返回保存用参数字符串str表示的double值的Double对象 |
| Double.toString() | String | 返回此对象的字符串表示形式 |
| Double.isNaN() | boolean | 如果此double值是非数字值(NaN),则返回true;否则返回false; |
5.3 常量
Double类提供了一下常量:
5.3.1 MAX_EXPONENT
返回int值,表示有限double变量可能具有的最大指数。
5.3.2 MIN_EXPONENT
返回int值,表示有限double变量可能具有的最小指数。
5.3.3 NEGATIVE_INFINITY
返回double值,表示保存double类型的负无穷大值的常量。
5.3.4 POSITIVE_INFINITY
返回double值,表示保存double类型的正无穷大值的常量。
6.Number
抽象类【Number】是BigDecimal、BigInteger、Byte、Short、Integer、Long、Float、Double类的父类,Number的子类必须提供将表示的数值转换为byte、short、int、long、float、double的方法,例如doubleValue()方法返回双精度值,floatValue()方法返回浮点值。
6.1 Number类的方法
| 方法 | 返回值 | 功能描述 |
| Number.byteValue() | byte | 以byte形式返回指定的数值 |
| Number.shortValue() | short | 以short形式返回指定的数值 |
| Number.intValue() | int | 以int形式返回指定的数值 |
| Number.longValue() | long | 以long形式返回指定的数值 |
| Number.floatValue() | float | 以float形式返回指定的数值 |
| Number.doubleValue() | double | 以double形式返回指定的数值 |
Number类的方法分别被Number的各子类所实现,也就是说,Number类的所有子类中都包含以上几种方法。
相关文章:
Java包装类
在Java中不能自己定义基本数据类型对象,为了将基本数据类型视为对象进行处理,并能连接相关方法,Java为每个基本数据类型都提供了【包装类】如int型数值的包装类【Integer】,boolean型数值的包装类【Boolean】,这样就可以把这些基本数据类型转…...
常用字符字符串处理函数
isdigit、isalnum、isalpha、islower、issupper都是C/C 语言中判断字符的一些函数,灵活利用在刷题中可以节省我们的一部分时间。下面c统一为char类型字符 1.isdigit 若参数c为十进制数字0~9,则返回非0值,否则返回0。 其中isxdigital判断是…...
【汇编语言特别篇】DOSBox及常用汇编工具的详细安装教程
文章目录 📋前言一. ⛳️dosbox的介绍、下载和安装1.1 🔔dosbos简介1.2 🔔dosbox的下载1.2.1 👻方式一:官网下载(推荐)1.2.2 👻方式二:网盘安装包 1.3 🔔dosbox的安装1.4 ǵ…...
【牛客网刷题(数据结构)】:环形链表的约瑟夫问题
描述 编号为 1 到 n 的 n 个人围成一圈。从编号为 1 的人开始报数,报到 m 的人离开。 下一个人继续从 1 开始报数。 n-1 轮结束以后,只剩下一个人,问最后留下的这个人编号是多少? O(n) 示例1 好环形链表的约瑟夫问题是一个经典的问…...
虾皮印尼买家号如何注册
虾皮(Shopee)是一个流行的电子商务平台,想要注册虾皮印尼买家号,可以按照以下步骤进行操作: 1、访问虾皮印尼站点:打开浏览器,输入虾皮印尼官网 2、点击"注册":在网站的…...
SpringBoot WebService服务端客户端使用教程
服务端: 依赖 <!-- webservice相关依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web-services</artifactId></dependency><dependency><groupId&…...
【Python 千题 —— 基础篇】字符串长度
题目描述 题目描述 获取字符串长度是编程过程中常用的操作之一。编写一个程序,输入一个字符串,然后输出字符串的长度。 输入描述 输入一个字符串。 输出描述 程序将输入的字符串的长度输出。 代码讲解 下面是本题的代码: # 描述: 输…...
AIGC - 入门向量空间模型
文章目录 向量和向量空间向量的运算什么是向量空间?向量空间的几个重要概念向量之间的距离曼哈顿距离(Manhattan Distance)欧氏距离(Euclidean Distance)切比雪夫距离(Chebyshev Distance) 向量…...
python中使用xml.dom.minidom模块读取解析xml文件
python中可以使用xml.dom.minidom模块读取解析xml文件 xml.dom.minidom模块应该是内置模块不用下载安装 对于一个xml文件来说比如这个xml文件的内容为如下 <excel version"1.0" author"huangzhihui"><table id"1"><colum id&qu…...
计算机网络第一章补充整理(计算机网络体系结构)
前言:以下整理内容,参考《计算机网络自顶向下》和哈工大的计网慕课 目录 计算机网络的体系结构的一些概念为什么采用分层结构?分层结构的优点分层结构的缺点 开放系统互连(OSI)参考模型物理层功能数据链路层功能网络层…...
2023_Spark_实验十七:导入招聘大数据(项目)
一、爬虫爬取的招聘网站数据 二、在MySQL中创建空表 SET FOREIGN_KEY_CHECKS0;-- ---------------------------- -- Table structure for jd_jobs -- ---------------------------- DROP TABLE IF EXISTS jd_jobs; CREATE TABLE jd_jobs (job_name text,job_date text,minSale…...
小程序无感刷新
下载wechat-http依赖 npm install wechat-http封装请求拦截器和相应拦截器,借助refreshToken实现无感刷新 // 导入 http 模块 import http from wechat-http // 基础路径,同时需添加合法请求域名 http.baseURL https://live-api.itheima.net // 配置请…...
Unity C#随笔:简述String和StringBuilder的区别
1.、String: 不可变性(Immutability): String对象一旦被创建,就不能被修改。每次对String对象进行操作时,实际上是创建了一个新的String对象,然后对象的引用重新指向这个新的对象。性能&#x…...
图论相关算法
一、迪杰斯特拉(Dijkstra)算法 迪杰斯特拉算法使用类似广度优先搜索的方法解决了带权图的单源最短路径问题。这是一个贪心算法。 1.核心思想 (1)每次选中一个点,这个点满足两个条件: 未被选过距离最短 (2…...
Python人工智能需要学什么
Python语言在人工智能开发领域有非常广泛的应用,随着人工智能平台的落地应用,未来采用Python语言来开发行业智能产品会是比较常见的选择。 然而进行人工智能开发仅凭Python语言是不够的,学习Python人工智能需要学习哪些知识呢? 一、Python…...
Java 获取请求真实IP
获取IP地址为 127.0.0.1, 或者内网地址 Nginx配置, 只有 proxy_pass 时只能获取到 127.0.0.1 location / {proxy_pass http://127.0.0.1:8080; }修改为 location / {#保留代理之前的host 包含客户端真实的域名和端口号proxy_set_header Host $host; #保留代理之前的真实客…...
Python突破浏览器TLS/JA3 指纹
JA3 是一种创建 SSL/TLS 客户端指纹的方法,一般一个网站的证书是不变的,所以浏览器指纹也是稳定的,能区分不同的客户端。 requests库 Python requests库请求一个带JA3指纹网站的结果: import requestsheaders {authority: tls…...
web安全之XSS攻击
什么是XSS攻击 XSS(Cross-Site Scripting)又称跨站脚本,XSS的重点不在于跨站点,而是在于脚本的执行。XSS是一种经常出现在 Web 应用程序中的计算机安全漏洞,是由于 Web 应用程序对用户的输入过滤不足而产生的。 常见…...
【技巧】如何设置Excel表只输入固定内容?
如果你需要在Excel表格中输入固定的内容,可以设置“限制录入内容”,这样就只能输入设置好的内容,避免不小心输入错误信息。下面来看看如何设置吧。 首先,打开Excel表格后,选中需要输入固定内容的表格区域。 比如图片…...
手机抬手亮屏解锁,用到了哪些硬件?
随着时代发展,智能手机以丰富的功能及便利性,成为了人们必不可少的物品,其中人脸解锁功能是非常有用的功能,广受年轻人的喜爱,那么你知道她是如何实现吗?今天凡小亿带你们探索! 手机抬手亮屏解锁…...
Chapter03-Authentication vulnerabilities
文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...
Vue记事本应用实现教程
文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...
微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...
盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来
一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...
使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...
质量体系的重要
质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...
