Java 包装类

Java 包装类

包装类提供了一种使用基本数据类型(int, boolean 等)的方法作为对象。

下表显示了基本类型和等效的包装器类:

基本数据类型包装类
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
booleanBoolean
charCharacter

有时必须使用包装器类,例如在处理集合对象(如 ArrayList)时,不能使用基本类型(列表只能存储对象):

实例
  1. import java.util.ArrayList;
  2. public class Main {
  3. public static void main(String[] args) {
  4. ArrayList<Integer> myNumbers = new ArrayList<Integer>();
  5. myNumbers.add(10);
  6. myNumbers.add(15);
  7. myNumbers.add(20);
  8. myNumbers.add(25);
  9. for (int i : myNumbers) {
  10. System.out.println(i);
  11. }
  12. }
  13. }
  1. import java.util.ArrayList;
  2. public class Main {
  3. public static void main(String[] args) {
  4. ArrayList<Integer> myNumbers = new ArrayList<Integer>();
  5. myNumbers.add(10);
  6. myNumbers.add(15);
  7. myNumbers.add(20);
  8. myNumbers.add(25);
  9. for (int i : myNumbers) {
  10. System.out.println(i);
  11. }
  12. }
  13. }

创建包装对象

要创建包装对象,请使用包装器类而不是基元类型。要获得值,只需打印对象即可:

实例
  1. public class Main {
  2. public static void main(String[] args) {
  3. Integer myInt = 5;
  4. Double myDouble = 5.99;
  5. Character myChar = 'A';
  6. System.out.println(myInt);
  7. System.out.println(myDouble);
  8. System.out.println(myChar);
  9. }
  10. }

由于您现在正在处理对象,因此可以使用某些方法来获取有关特定对象的信息。

例如,以下方法用于获取与相应包装对象关联的值: intValue(), byteValue(), shortValue(), longValue(), floatValue(), doubleValue(), charValue(), booleanValue()

此实例将输出与上述实例相同的结果:

实例
  1. public class Main {
  2. public static void main(String[] args) {
  3. Integer myInt = 5;
  4. Double myDouble = 5.99;
  5. Character myChar = 'A';
  6. System.out.println(myInt.intValue());
  7. System.out.println(myDouble.doubleValue());
  8. System.out.println(myChar.charValue());
  9. }
  10. }

另一个有用的方法是 toString() 方法,用于将包装对象转换为字符串。

在下面的示例中,我们将 Integer 转换为 String,并使用 String 类的 length() 方法输出 "string" 的长度:

实例
  1. public class Main {
  2. public static void main(String[] args) {
  3. Integer myInt = 100;
  4. String myString = myInt.toString();
  5. System.out.println(myString.length());
  6. }
  7. }