包装类

Java是一种面向对象语言,Java中的类把方法与数据连接在一起,构成了自包含式的处理单元。但在Java中不能定义基本类型(primitivetype)对象,为了能将基本类型视为对象进行处理,并能连接相关的方法,Java为每个基本类型都提供了包装类,如int型数值的包装类Integer,boolean型数值的包装类Boolean等,这样便可以把这些基本类型转换为对象来处理了。需要说明的是,Java是可以直接处理基本类型的,但在有些情况下需要将其作为对象来处理,这时就需要将其转换为包装类了。

一 Integer
 java.lang包中的Integer类、Long类和Short类,分别将基本类型int、long和short封装成一个类。这些类都是Number的子类,区别就是封装不同的数据类型,其包含的方法基本相同,所以以Integer类为例介绍整数包装类。
 Integer类在对象中包装了一个基本类型int的值。该类的对象包含一个int类型的字段。此外,该类提供了多个方法,能在int类型和String类型之间互相转换,同时还提供了其他一些处理int类型时非常有用的常量和方法。
1.构造方法
 Integer类有以下两种构造方法: 
Integer(intnumber)
 该方法以一个int型变量作为参数来获取Integer对象。

Integer number = new Integer(10);

Integer(Stringstr)
 该方法以一个String型变量作为参数来获取Integer对象。

Integer number = new Integer("100");

2.常用方法
 Integer类的常用方法如下表所示。
在这里插入图片描述
 Integer类中的parseInt()方法返回与调用该方法的数值字符串相应的整型(int)值。
 Integer类的toString()方法,可将Integer对象转换为十进制字符串表示。toBinaryString()、toHexString()和toOctalString()方法分别将值转换成二进制、十六进制和八进制字符串。
 
3.常量
 Integer类提供了以下4个常量。 
  MAX_VALUE:表示int类型可取的最大值,即 2的31次方减1。 
  MIN_VALUE:表示int类型可取的最小值,即 负2的31次方。 
  SIZE:用来以二进制补码形式表示int值的位数。 
  TYPE:表示基本类型int的Class实例。
 代码如下:

int maxint = Integer.MAX_VALUE;
int minint = Integer.MIN_VALUE;
int intsize = Integer.SIZE;

二 Boolean
 Boolean类将基本类型为boolean的值包装在一个对象中。一个Boolean类型的对象只包含一个类型为boolean的字段。此外,此类还为boolean和String的相互转换提供了许多方法,并提供了处理boolean时非常有用的其他一些常量和方法。
1.构造方法
Boolean(boolean value)
 该方法创建一个表示value参数的Boolean对象。

Boolean b = new Boolean(true);

Boolean(String str)
 该方法以String变量作为参数创建Boolean对象。如果String参数不为null且在忽略大小写时等于true,则分配一个表示true值的Boolean对象,否则获得一个false值的Boolean对象。

Boolean b = new Boolean("test");

2.构造方法
 Boolean类的常用方法如下表:
 在这里插入图片描述
3.常量
 Boolean提供了以下3个常量。 
  TRUE:对应基值true的Boolean对象。 
  FALSE:对应基值false的Boolean对象。 
  TYPE:基本类型boolean的Class对象。

三 Byte
 Byte类将基本类型为byte的值包装在一个对象中。一个Byte类型的对象只包含一个类型为byte的字段。此外,该类还为byte和String的相互转换提供了方法,并提供了其他一些处理byte时非常有用的常量和方法。
1.构造方法
Byte(byte value)
 通过这种方法创建的Byte对象,可表示指定的byte值。

byte mybyte = 50;
Byte b = new Byte(mybyte);

Byte(String str)
 通过这种方法创建的Byte对象,可表示String参数所指示的byte值。

Byte mybyte = new Byte("10");

2.常用方法
 Byte类的常用方法如下表所示。
在这里插入图片描述
3.常量Byte类中提供了如下4个常量。 
 MIN_VALUE:byte类型可取的最小值。  
 MAX_VALUE:byte类型可取的最大值。 
 SIZE:用于以二进制补码形式表示byte值的位数。 
 TYPE:表示基本类型byte的Class实例。

四 Character
 Character类在对象中包装一个基本类型为char的值。一个Character类型的对象包含类型为char的单个字段。该类提供了几种方法,以确定字符的类别(小写字母、数字等),并将字符从大写转换成小写,反之亦然。
1.构造方法
Character(char value);
 该类的构造函数必须是一个char类型的数据。通过该构造函数创建的Character类对象包含由char类型参数提供的值。一旦Character类被创建,它包含的数值就不能改变了。

Character mychar = new Character('s');

2.常用方法
 Character类提供了很多方法来完成对字符的操作,常用的方法如下表所示。
在这里插入图片描述
3.常量
 Character类提供了大量表示特定字符的常量。例如:
  CONNECTOR_PUNCTUATION:返回byte型值,表示Unicode规范中的常规类别“Pc”。 
  UNASSIGNED:返回byte型值,表示Unicode规范中的常规类别“Cn”。 
  TITLECASE_LETTER:返回byte型值,表示Unicode规范中的常规类别“Lt”。

五 Double
 Double和Float包装类是对double、float基本类型的封装,它们都是Number类的子类,又都是对小数进行操作,所以常用方法基本相同。
 Double类在对象中包装一个基本类型为double的值。每个Double类的对象都包含一个double类型的字段。此外,该类还提供多个方法,可以将double转换为String,将String转换为double,也提供了其他一些处理double时有用的常量和方法。
1.构造方法
 Double类提供了以下两种构造方法来获得Double类对象。
  Double(double value):基于double参数创建Double类对象。
  Double(String str):构造一个新分配的Double对象,表示用字符串表示的double类型的浮点值。
2.常用方法
 Double类的常用方法如下表所示。
在这里插入图片描述
3.常量
 Double类提供了以下的常量。 
  MAX_EXPONENT:返回int值,表示有限double变量可能具有的最大指数。 
  MIN_EXPONENT:返回int值,表示标准化double变量可能具有的最小指数。 
  NEGATIVE_INFINITY:返回double值,表示保存double类型的负无穷大值的常量。 
  POSITIVE_INFINITY:返回double值,表示保存double类型的正无穷大值的常量。

六 Number
 抽象类Number是BigDecimal、BigInteger、Byte、Double、Float、Integer、Long和Short类的父类,Number的子类必须提供将表示的数值转换为byte、double、float、int、long和short的方法。例如,doubleValue()方法返回双精度值,floatValue()方法返回浮点值。这些方法如下表所示。
在这里插入图片描述
 Number类的方法分别被Number的各子类所实现,也就是说,在Number类的所有子类中都包含以上这几种方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
String的包装类是java.lang.String类本身。在Java中,String类是一个特殊的引用类型,用于表示字符串。它是不可变的,即一旦创建就不能被修改。String类提供了许多用于操作字符串的方法,比如拼接、截取、替换等。由于String类是非线程安全的,所以在多线程环境下使用时需要注意线程同步的问题。\[1\] 与其他基本数据类型的包装类不同,String类没有对应的包装类,因为它本身就是一个引用类型。所以,我们不需要使用包装类来表示String类型的对象。\[2\] 与包装类中的equals方法一样,String类的equals方法也是重写了Object类中的equals方法,用于比较字符串的内容而不是地址。而"=="运算符比较的是引用变量的地址。当包装类型和与之相对应的基本类型进行"=="比较时,会先进行自动拆箱处理。\[3\] #### 引用[.reference_title] - *1* *2* [2022-07-22 第八小组 常竞文 String类型和八大包装类](https://blog.csdn.net/cjwtsl/article/details/126001449)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Java基础学习第七讲:Java中的String类、常用类及包装类](https://blog.csdn.net/u010611510/article/details/122348845)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值