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类的所有子类中都包含以上这几种方法。