虽然 Java 语言是典型的面向对象编程语言,但其中的 8 种基本数据类型并不支持面向对象的编程机制,基本类型的数据不具备“对象”的特性—-不携带属性、没有方法可调用。 沿用它们只是为了迎合人类根深蒂固的习惯,并的确能简单、有效地进行常规数据处理。
这种借助于非面向对象技术的做法有时也会带来不便,比如引用类型数据均继承了 Object类的特性,要转换为 String 类型(经常有这种需要)时只要简单调用 Object 类中定义的toString()即可,而基本数据类型转换为 String 类型则要麻烦得多。为解决此类问题 ,Java 语言引入了封装类的概念,在 JDK 中针对各种基本数据类型分别定义相应的引用类型,并称之为包装类(Wrapper Classes)。
基本数据类型 | 对应的包装类 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
char | Character |
float | Float |
double | Double |
boolean | Boolean |
每个包装类的对象可以封装一个相应的基本类型的数据,并提供了其它一些有用的功能。包装类对象一经创建,其内容(所封装的基本类型数据值)不可改变。
例,包装类用法程序:Wrapper.java
public class Wrapper {
public static void main(String args[]) {
int i = 500;
Integer t = new Integer(i);
int j = t.intValue(); // j = 500
String s = t.toString(); // s = “500”
System.out.println(t);
Integer t1 = new Integer(500);
System.out.println(t.equals(t1));
}
}
程序运行结果为:
500
true
包装类一个常用的功能就是把字符串类型的数据造型成为对应的基本数据类型,如下示例:
String str = “123”;
int a = Integer.parseInt(str);
更过的功能还请查看 JDK 文档。