<small>
因为基本类型无法参与面向对象程序设计,所以要对8种基本类型进行包装,变成对应的包装类(引用类型)从而实现基本类型『参与』面向对象的程序设计
基本类型 | 包装类 | 父类/超级父类 |
---|---|---|
byte | Byte | Number/Object |
short | Short | Number/Object |
int | Integer | Number/Object |
long | Long | Number/Object |
float | Float | Number/Object |
double | Double | Number/Object |
char | Character | Object |
boolean | Boolean | Object |
Number 类
所有数字类型的超级父类
抽象类,无法实例化,通过向上构型创建对象
提供方法入口:将对应的引用数字类型转换成基本数字类型
有byteValue();shortValue();intValue();longValue();floatValue();doubleValue();
除了六个数字包装类还有两个金融系统的 BigDecimal、BigInteger
以 Integer为例作说明
Integer 没有无参构造,必须给一个 int/String 类型的数字
注意 String 类型的数字,必须是数字类型的数字不能是汉字,否则会抛出 数字格式异常
Number number=new Integer(123);
System.out.println(number.toString());
Number number=new Integer(12345);
System.out.println(number);\
byte b=number.byteValue();
System.out.println(b);
Integer 类
int 基本类型的包装类
将一个int 数字,包装成引用类型数字,从而更好的参与面向对象程序设计
1.对象实例化
int→Integer
String→Integer
方式1:通过构造方法实现
int number=123;
Integer inte=new Integer(123);
方式2:静态方法 valueOf()
Inter inte =Inter.valueOf(number);
方式三:
String→Integer
String numberStr="123";
Inter inte =Inter.valueOf(numberStr);
Integer→int
Inter inte3= new Integer("12345");
Integer→String
toString();
String s2=inte+"";(加法的拼接效果)
自动拆箱及装箱展示:
/*
* 练习:
* 说出下面的运行原理
*/
Integer inte1 = 123;//自动装箱
Integer inte2 = 456;//自动装箱
Integer inte3 = inte1/*自动拆箱*/ +
inte2/*自动拆箱*/;
//运算结束,再装箱。
System.out.println(inte3);//579
/*
* Integer inte3 =
* Integer.valueOf(
* inte1.intValue()拆箱 +
inte2.intValue()拆箱
) 装箱
*/
parseInt方法展示:
//方式2:通过Integer中的parseInt静态方法
int i3 = Integer.parseInt(numberStr);
System.out.println(i3);
静态方法 valueOf 展示
//String → Integer
String numberStr = "12345";
//方式一:构造方法
Integer inte3 = new Integer(numberStr);
System.out.println(inte3);
//方式二:静态方法valueOf()
Integer inte4 = Integer.valueOf(numberStr);
System.out.println(inte4);
intValue 方法展示:
//int → Integer
int number = 123;
//方式一:构造方法
Integer inte1 = new Integer(number);
System.out.println(inte1);
//方式二:静态方法valueOf()
Integer inte2 = Integer.valueOf(number);
System.out.println(inte2);
//Integer → int
Integer inte3 = new Integer("123456");
//方式一:方法intValue()
int i1 = inte3.intValue();
System.out.println(i1);