- 包装器类的层次关系:
- Object->Boolean;
- Object->Character;
- Object->Void;
- Object->Number->Byte;
- Object->Number->Short;
- Object->Number->Integer;
- Object->Number->Long;
- Object->Number->Float;
- Object->Number->Double;
- Number类是一个抽象类,它被所有表示基本数字类型的包装器类锁扩展;
-
- Long.decode(“0xABCD”)//参数中必须有基数引元,即0x, 0等
- Long.parxeLong(“ABCD”)
- Java中基数必须在2~36的范围之内,所谓基数可以理解为我们通常所说的进制;
- 由于包装器类是不可变的,所以两个拥有相同值的对象是可以互换使用的,因此实际上不需要创建拥有相同值的两个不同的包装器类对象。
- Java语言中存在着这样一个事实:对于某些类型来说,在其某些值域内进行的对相同值得装箱转换将总是产生相同的对象。这些类型和值域如下所示:
类型 | 值域 |
---|---|
boolean | true, false |
byte | 所有值 |
char | \u0000~\u00ff |
short | -128~127 |
int | -128~127 |
假定我们有下面的方法:
static boolean sameArgs(Integer a, Integer b) {
return a == b;
}
那么,sameArgs(3, 3)将返回true;smaeArgs(3, new Integer(3))将返回false;