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表格后,选中需要输入固定内容的表格区域。 比如图片…...
手机抬手亮屏解锁,用到了哪些硬件?
随着时代发展,智能手机以丰富的功能及便利性,成为了人们必不可少的物品,其中人脸解锁功能是非常有用的功能,广受年轻人的喜爱,那么你知道她是如何实现吗?今天凡小亿带你们探索! 手机抬手亮屏解锁…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...
汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...
最新SpringBoot+SpringCloud+Nacos微服务框架分享
文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的,根据Excel列的需求预估的工时直接打骨折,不要问我为什么,主要…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
uniapp中使用aixos 报错
问题: 在uniapp中使用aixos,运行后报如下错误: AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...
Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...
mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...
Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...
