Java库在java.lang
包中提供了八个类来表示八种基本类型中的每一种。这些类称为包装类,因为它们在对象中包装原始值。
下表列出了原始类型及其相应的包装类。
基本类型 | 包装类 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
所有包装类都是不可变的。 它们提供了两种方法来创建它们的对象:
valueOf()
工厂方法除了Character
之外,每个包装类都提供至少两个构造函数:一个采用对应基本类型的值,另一个采用String
类型值。
Character
类只提供一个接受char
的构造函数。
以下代码创建一些包装类的对象:
public class Main { public static void staticMethod() { // Creates an Integer object from an int Integer intObj1 = new Integer(100); // Creates an Integer object from a String Integer intObj2 = new Integer("1969"); // Creates a Double object from a double Double doubleObj1 = new Double(10.45); // Creates a Double object from a String Double doubleObj2 = new Double("234.60"); // Creates a Character object from a char Character charObj1 = new Character('A'); // Creates a Boolean object from a boolean Boolean booleanObj1 = new Boolean(true); // Creates Boolean objects from Strings Boolean booleanTrue = new Boolean("true"); Boolean booleanFalse = new Boolean("false"); } }
创建包装类对象的另一种方法是使用它们的valueOf()
方法。valueOf()
方法是一个静态的方法。
以下代码使用它们的valueOf()
方法创建一些包装器类的对象:
public class Main { public static void staticMethod() { Integer intObj1 = Integer.valueOf(100); Integer intObj2 = Integer.valueOf("2014"); Double doubleObj1 = Double.valueOf(10.45); Double doubleObj2 = Double.valueOf("234.56"); Character charObj1 = Character.valueOf('A'); } }