六 包装类
Java是面向对象的语言,类是Java进行处理时的基本单元。在一些时候我们需要把基本数据类型当做对象来处理,但是Java规定并不能定义一个基本数据类型的对象如int对象,char对象等。所以Java为每个基本类型都提供了包装类——如与int对应的Integer类,与boolean对应的Boolean类等。
6.1 Intege类
java.lang包中包含有Integer类,Long类和Short类,他们可以将基本数据类型int,long和short封装成一个类。下面以Integer类为例介绍整数包装类。
(1)构造方法
Integer类有两种构造方法,分别为Integer int1 = new Integer(45)
和Integer int2 = new Integer("45")
注意在使用String类作为参数时要使用数值型字符串作为参数,否则会抛出NumberFormatException异常。
(2)常用方法
下面是Integer类的一些常用方法
方法 | 返回值 | 功能 |
byteValue() | byte | 使用byte类型返回该Integer的值 |
compareTo(another Integer) | int | 从数值上比较两个Integer的值 |
equals(Object) | boolean | 比较两个对象是否相等 |
intValue() | int | int型返回值 |
shortValue | short | short型返回值 |
toString() | String | 返回一个表示该Integer值的String对象 |
valueOf(String str) | Integer | 返回保存指定的String值的Integer对象 |
parseInt(String str) | int | 返回包含在由str指定的字符串中数字的等价整数值 |
Integer类的toString()方法可以将Integer对象转化为十进制字符串表示,与此同时还有toBinaryString(),toHexString(),toOctalString()三种方法支持将Integer对象转化为二进制,十六进制和八进制字符串
(3)常量
Integer提供了下面的常量
MAX_VALUE:表示int类型可取的最大值。
MIN_VALUE:表示int类型可取的最小值
SIZE:用二进制补码形式表示int值的位数
TYPE:表示基本类型int的Class实例
6.2 Boolean类
Boolean类将基本类型为boolean的值包装在一个对象中,一个Boolean类型的对象只包含一个类型为boolean的字段。
(1)构造方法
Boolean类对象同样有两种构造方法Boolean bool = new Boolean(true)
参数必须为boolean类型的true或flaseBoolean bool1 = new Boolean("OK")
参数为String类型,当参数不为null
且忽略大小写时与true
相等,则创建一个表示true的Boolean对象,否则创建一个flase的Boolean对象。
(2)常用方法
方法 | 返回值 | 功能 |
booleanValue() | boolean | 使用boolean类型返回该Boolean对象的值 |
equals(Object) | boolean | 比较两个对象是否相等 |
toString() | String | 返回一个表示该Boolean值的String对象 |
valueOf(String str) | boolean | 返回保存指定的String值的boolean值 |
parseBoolean(String str) | boolean | 将String中保存的字符串解析为boolean值 |
(3)常量
TRUE:对应基值true的Boolean对象
FLASE:对应基值flase的Boolean对象
TYPE:基本类型boolean的Class对象
6.3 Byte类
(1)构造方法
Byte byte1 = new Byte(45)
使用byte型变量作为参数Byte byte1 = new Byte("24")
使用String类型变量作为参数,必须为数值型字符串
(2)常用方法
方法 | 返回值 | 功能 |
byteValue() | byte | 使用byte值返回Byte对象 |
compareTo(another Byte) | int | 从数值上比较两个Byte的值 |
doubleValue() | double | 使用double值返回该Byte对象 |
equals(Object) | boolean | 比较两个对象是否相等 |
intValue() | int | int型返回值 |
toString() | String | 返回一个表示该byte值的String对象 |
valueOf(String str) | byte | 返回保存指定的String值的byte对象 |
parseByte(String str) | byte | 返回包含在由str指定的字符串中数字byte值 |
(3)常量
MIN_VALUE:byte类型能表示的最小值
MAX_VALUE:byte类型表示的最大值
SIZE:二进制补码形式表示byte值的位数
TYPE:表示byte型的Class实例
6.4 Character类
(1)构造方法
Character ch = new Character('a')
使用char型作为参数
(2)常用方法
方法 | 返回值 | 功能 |
charValue() | char | 返回此Character对象的char值 |
compareTo(Another Character) | int | 根据数字比较两个Character对象 |
equals(Object) | boolean | 调用equals方法对两个Character对象进行比较 |
toUpperCase(char ch) | char | 将字符参数转换为大写 |
toLowerCase(char ch) | char | 将字符参数转换为小写 |
toString() | String | 返回一个表示指定char值的String对象 |
isUpperCase(char ch) | boolean | 判断指定字符是否为大写字符 |
isLowerCase(char ch) | boolean | 判断指定字符是否为小写字符 |
(3)常量
CONNECTOR_PUNCTUATION:返回byte值,表示Unicode规范中多个常规类别Pc
UNASSIGNED:返回byte值。表示Unicode规范中的常规类别Cn
TITLECASE_CASE:返回byte值。表示Unicode规范中的常规类别Lt
6.5 Double类
(1)构造方法
Double dou = new Double(25.66)
使用double型作为参数Double dou = new Double("1536.3")
使用数值型字符串作为参数
(2)常用方法
基本与上面的其他包装类的常用方法类似,如equals方法,toString方法,intValue方法,isNaN方法等
(3)常量
MAX_EXPONENT:返回int值。表示double型变量可能具有的最大指数。
MIN_EXPONENT:返回int值。表示double型变量可能具有的最小指数。
NEGATIVE_INFINITY:返回double值。表示保存double类型的负无穷大值的常量。
POSITIVE_INFINITY:返回double值。表示保存double类型的正无穷大值的常量。
6.6 Number类
抽象类Number类是各种包装类及数值处理类BigDecimal,BigInteger类的父类。Number的子类必须提供将标示顿 数值转换为其他数据类型的方法,如floatValue,byteValue等方法。