当前位置: 首页 > news >正文

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类的常用方法
方法返回值功能描述
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类的常用方法
方法返回值功能描述
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类的常用方法
方法返回值功能描述
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类的常用方法
方法返回值功能描述
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类的常用方法
方法返回值功能描述
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类的方法
方法返回值功能描述
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中不能自己定义基本数据类型对象&#xff0c;为了将基本数据类型视为对象进行处理&#xff0c;并能连接相关方法&#xff0c;Java为每个基本数据类型都提供了【包装类】如int型数值的包装类【Integer】,boolean型数值的包装类【Boolean】,这样就可以把这些基本数据类型转…...

常用字符字符串处理函数

isdigit、isalnum、isalpha、islower、issupper都是C/C 语言中判断字符的一些函数&#xff0c;灵活利用在刷题中可以节省我们的一部分时间。下面c统一为char类型字符 1.isdigit 若参数c为十进制数字0~9&#xff0c;则返回非0值&#xff0c;否则返回0。 其中isxdigital判断是…...

【汇编语言特别篇】DOSBox及常用汇编工具的详细安装教程

文章目录 &#x1f4cb;前言一. ⛳️dosbox的介绍、下载和安装1.1 &#x1f514;dosbos简介1.2 &#x1f514;dosbox的下载1.2.1 &#x1f47b;方式一&#xff1a;官网下载(推荐)1.2.2 &#x1f47b;方式二&#xff1a;网盘安装包 1.3 &#x1f514;dosbox的安装1.4 &#x1f5…...

【牛客网刷题(数据结构)】:环形链表的约瑟夫问题

描述 编号为 1 到 n 的 n 个人围成一圈。从编号为 1 的人开始报数&#xff0c;报到 m 的人离开。 下一个人继续从 1 开始报数。 n-1 轮结束以后&#xff0c;只剩下一个人&#xff0c;问最后留下的这个人编号是多少&#xff1f; O(n) 示例1 好环形链表的约瑟夫问题是一个经典的问…...

虾皮印尼买家号如何注册

虾皮&#xff08;Shopee&#xff09;是一个流行的电子商务平台&#xff0c;想要注册虾皮印尼买家号&#xff0c;可以按照以下步骤进行操作&#xff1a; 1、访问虾皮印尼站点&#xff1a;打开浏览器&#xff0c;输入虾皮印尼官网 2、点击"注册"&#xff1a;在网站的…...

SpringBoot WebService服务端客户端使用教程

服务端&#xff1a; 依赖 <!-- webservice相关依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web-services</artifactId></dependency><dependency><groupId&…...

【Python 千题 —— 基础篇】字符串长度

题目描述 题目描述 获取字符串长度是编程过程中常用的操作之一。编写一个程序&#xff0c;输入一个字符串&#xff0c;然后输出字符串的长度。 输入描述 输入一个字符串。 输出描述 程序将输入的字符串的长度输出。 代码讲解 下面是本题的代码&#xff1a; # 描述: 输…...

AIGC - 入门向量空间模型

文章目录 向量和向量空间向量的运算什么是向量空间&#xff1f;向量空间的几个重要概念向量之间的距离曼哈顿距离&#xff08;Manhattan Distance&#xff09;欧氏距离&#xff08;Euclidean Distance&#xff09;切比雪夫距离&#xff08;Chebyshev Distance&#xff09; 向量…...

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…...

计算机网络第一章补充整理(计算机网络体系结构)

前言&#xff1a;以下整理内容&#xff0c;参考《计算机网络自顶向下》和哈工大的计网慕课 目录 计算机网络的体系结构的一些概念为什么采用分层结构&#xff1f;分层结构的优点分层结构的缺点 开放系统互连&#xff08;OSI&#xff09;参考模型物理层功能数据链路层功能网络层…...

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封装请求拦截器和相应拦截器&#xff0c;借助refreshToken实现无感刷新 // 导入 http 模块 import http from wechat-http // 基础路径&#xff0c;同时需添加合法请求域名 http.baseURL https://live-api.itheima.net // 配置请…...

Unity C#随笔:简述String和StringBuilder的区别

1.、String&#xff1a; 不可变性&#xff08;Immutability&#xff09;&#xff1a; String对象一旦被创建&#xff0c;就不能被修改。每次对String对象进行操作时&#xff0c;实际上是创建了一个新的String对象&#xff0c;然后对象的引用重新指向这个新的对象。性能&#x…...

图论相关算法

一、迪杰斯特拉(Dijkstra)算法 迪杰斯特拉算法使用类似广度优先搜索的方法解决了带权图的单源最短路径问题。这是一个贪心算法。 1.核心思想 &#xff08;1&#xff09;每次选中一个点&#xff0c;这个点满足两个条件&#xff1a; 未被选过距离最短 &#xff08;2&#xf…...

Python人工智能需要学什么

Python语言在人工智能开发领域有非常广泛的应用&#xff0c;随着人工智能平台的落地应用&#xff0c;未来采用Python语言来开发行业智能产品会是比较常见的选择。 然而进行人工智能开发仅凭Python语言是不够的&#xff0c;学习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 客户端指纹的方法&#xff0c;一般一个网站的证书是不变的&#xff0c;所以浏览器指纹也是稳定的&#xff0c;能区分不同的客户端。 requests库 Python requests库请求一个带JA3指纹网站的结果&#xff1a; import requestsheaders {authority: tls…...

web安全之XSS攻击

什么是XSS攻击 XSS&#xff08;Cross-Site Scripting&#xff09;又称跨站脚本&#xff0c;XSS的重点不在于跨站点&#xff0c;而是在于脚本的执行。XSS是一种经常出现在 Web 应用程序中的计算机安全漏洞&#xff0c;是由于 Web 应用程序对用户的输入过滤不足而产生的。 常见…...

【技巧】如何设置Excel表只输入固定内容?

如果你需要在Excel表格中输入固定的内容&#xff0c;可以设置“限制录入内容”&#xff0c;这样就只能输入设置好的内容&#xff0c;避免不小心输入错误信息。下面来看看如何设置吧。 首先&#xff0c;打开Excel表格后&#xff0c;选中需要输入固定内容的表格区域。 比如图片…...

手机抬手亮屏解锁,用到了哪些硬件?

随着时代发展&#xff0c;智能手机以丰富的功能及便利性&#xff0c;成为了人们必不可少的物品&#xff0c;其中人脸解锁功能是非常有用的功能&#xff0c;广受年轻人的喜爱&#xff0c;那么你知道她是如何实现吗&#xff1f;今天凡小亿带你们探索&#xff01; 手机抬手亮屏解锁…...

基于算法竞赛的c++编程(28)结构体的进阶应用

结构体的嵌套与复杂数据组织 在C中&#xff0c;结构体可以嵌套使用&#xff0c;形成更复杂的数据结构。例如&#xff0c;可以通过嵌套结构体描述多层级数据关系&#xff1a; struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来

一、破局&#xff1a;PCB行业的时代之问 在数字经济蓬勃发展的浪潮中&#xff0c;PCB&#xff08;印制电路板&#xff09;作为 “电子产品之母”&#xff0c;其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透&#xff0c;PCB行业面临着前所未有的挑战与机遇。产品迭代…...

【WiFi帧结构】

文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成&#xff1a;MAC头部frame bodyFCS&#xff0c;其中MAC是固定格式的&#xff0c;frame body是可变长度。 MAC头部有frame control&#xff0c;duration&#xff0c;address1&#xff0c;address2&#xff0c;addre…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)

文章目录 1.什么是Redis&#xff1f;2.为什么要使用redis作为mysql的缓存&#xff1f;3.什么是缓存雪崩、缓存穿透、缓存击穿&#xff1f;3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)

CSI-2 协议详细解析 (一&#xff09; 1. CSI-2层定义&#xff08;CSI-2 Layer Definitions&#xff09; 分层结构 &#xff1a;CSI-2协议分为6层&#xff1a; 物理层&#xff08;PHY Layer&#xff09; &#xff1a; 定义电气特性、时钟机制和传输介质&#xff08;导线&#…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

UDP(Echoserver)

网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法&#xff1a;netstat [选项] 功能&#xff1a;查看网络状态 常用选项&#xff1a; n 拒绝显示别名&#…...

Mac软件卸载指南,简单易懂!

刚和Adobe分手&#xff0c;它却总在Library里给你写"回忆录"&#xff1f;卸载的Final Cut Pro像电子幽灵般阴魂不散&#xff1f;总是会有残留文件&#xff0c;别慌&#xff01;这份Mac软件卸载指南&#xff0c;将用最硬核的方式教你"数字分手术"&#xff0…...

Python爬虫(一):爬虫伪装

一、网站防爬机制概述 在当今互联网环境中&#xff0c;具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类&#xff1a; 身份验证机制&#xff1a;直接将未经授权的爬虫阻挡在外反爬技术体系&#xff1a;通过各种技术手段增加爬虫获取数据的难度…...

IT供电系统绝缘监测及故障定位解决方案

随着新能源的快速发展&#xff0c;光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域&#xff0c;IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选&#xff0c;但在长期运行中&#xff0c;例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...