Java编程那些事儿77——包装类
副标题#e#
9.5.5 包装类
Java语言是一个面向工具的语言,可是Java中的根基数据范例却是不面向工具的,这在实际利用时存在许多的未便,为了办理这个不敷,在设计类时为每个根基数据范例设计了一个对应的类举办代表,这样八个和根基数据范例对应的类统称为包装类(Wrapper Class),有些处所也翻译为外覆类或数据范例类。
包装类均位于java.lang包,包装类和根基数据范例的对应干系如下表所示:
包装类对应表
根基数据范例 | 包装类 |
byte | Byte |
boolean | Boolean |
short | Short |
char | Character |
int | Integer |
long | Long |
float | Float |
double | Double |
在这八个类名中,除了Integer和Character类今后,其它六个类的类名和根基数据范例一直,只是类名的第一个字母大写即可。
对付包装类说,这些类的用途主要包括两种:
a、作为和根基数据范例对应的类范例存在,利便涉及到工具的操纵。
b、包括每种根基数据范例的相关属性如最大值、最小值等,以及相关的操纵要领。
由于八个包装类的利用较量雷同,下面以最常用的Integer类为例子先容包装类的实际利用。
1、实现int和Integer类之间的转换
在实际转换时,利用Integer类的结构要领和Integer类内部的intValue要领实现这些范例之间的彼此转换,实现的代码如下:
int n = 10;
Integer in = new Integer(100);
//将int范例转换为Integer范例
Integer in1 = new Integer(n);
//将Integer范例的工具转换为int范例
int m = in.intValue();
#p#副标题#e#
2、Integer类内部的常用要领
在Integer类内部包括了一些和int操纵有关的要领,下面先容一些较量常用的要领:
a、parseInt要领
public static int parseInt(String s)
该要领的浸染是将数字字符串转换为int数值。在今后的界面编程中,将字符串转换为对应的int数字是一种较量常见的操纵。利用示譬喻下:
String s = “123”;
int n = Integer.parseInt(s);
则int变量n的值是123,该要领实际上实现了字符串和int之间的转换,假如字符串都包括的不是都是数字字符,则措施执行将呈现异常。(说明:异常的观念将在下一章举办报告)
别的一个parseInt要领:
public static int parseInt(String s, int radix)
则实现将字符串凭据参数radix指定的进制转换为int,利用示譬喻下:
//将字符串”120”凭据十进制转换为int,则功效为120
int n = Integer.parseInt(“120”,10);
//将字符串”12”凭据十六进制转换为int,则功效为18
int n = Integer.parseInt(“12”,16);
//将字符串”ff”凭据十六进制转换为int,则功效为255
int n = Integer.parseInt(“ff”,16);
这样可以实现更机动的转换。
b、toString要领
public static String toString(int i)
该要领的浸染是将int范例转换为对应的String范例。
利用示例代码如下:
int m = 1000;
String s = Integer.toString(m);
则字符串s的值是”1000”。
别的一个toString要领例实现将int值转换为特定进制的字符串:
public static int parseInt(String s, int radix)
利用示例代码如下:
int m = 20;
String s = Integer.toString(m);
则字符串s的值是”14”。
其实,JDK自从1.5(5.0)版本今后,就引入了自动拆装箱的语法,也就是在举办根基数据范例和对应的包装类转换时,系统将自动举办,这将大大利便措施员的代码书写。利用示例代码如下:
//int范例会自动转换为Integer范例
int m = 12;
Integer in = m;
//Integer范例会自动转换为int范例
int n = in;
所以在实际利用时的范例转换将变得很简朴,系统将自动实现对应的转换。