9.8 包装类

基本类型(如 intdoublechar)不提供方法。例如,你不能对 int 值调用 equals

  1. int i = 5;
  2. System.out.println(i.equals(5)); // 编译错误

但 Java 库包含与每种基本类型对应的类,这些类被称为包装类(wrapper class)。与 char 对应的包装类为 Characte;与 int 对应的包装类为 Integer;其他包装类包括 BooleanLongDouble。这些包装类都位于 java.lang 包中,因此无需导入就可使用。

每个包装类都定义了常量 MIN_VALUEMAX_VALUE。例如,Integer.MIN_VALUE 的值为 -2147483648,而 Integer.MAX_VALUE 的值为 2147483647。因为包装类提供了这些常量,所以无需记住,也不用在程序中定义。

包装类提供了将字符串转换为其他类型的方法。例如,Integer.parseInt 将字符串转换为整数:

  1. String str = "12345";
  2. int num = Integer.parseInt(str);

这里的分析(parse)指的是读取并转换。

其他的包装类提供了类似的方法,如 Double.parseDoubleBoolean.parseBoolean。包装类还提供了方法 toString,它返回值的字符串表示:

  1. int num = 12345;
  2. String str = Integer.toString(num);

结果为字符串 "12345"