包装类(Wrapper class):Java不是一个纯面向对象的语言需要将基本数据转化为对象。
对应关系:
基本数据类型 包装类
byte Byte
boolean Boolean
short Short
char Character
int integer
long Long
float Float
double Double
Int包装类integer:
Integer i = new Integer(1000);
System.out.println(Integer.MAX_VALUE);
System.out.println(Integer.toHexString(i));// 将i转为十六进制数的字符串
Integer i2 = new Integer("234");// 把字符串转为数字
Integer i3 = Integer.parseInt("234");// 把字符串转为数字
System.out.println(i2);
String str = i2 + "";// 将数字转为字符串
System.out.println(str);
System.out.println(i2.intValue());//将包装类i2转为基本数据
自动装箱与自动拆箱(auto-boxing unboxing)
自动装箱:基本类型就自动的封装到与它相同类型的包装中,如:Integer i = 100;
本质上是,编译器为我们们添加了Integer i = new Integer(100);jdk5.0后出现自动装箱。
自动拆箱:包装类对象自动转换成基本类型数据。如:int a = newInteger(100);
本质上,编译器编译时为我们添加了:int a = new Integer(100).intValue();
Integer d = 1234;
Integer d2 = 1234;
System.out.println(d == d2);//false
System.out.println(d.equals(d2));//true
Integer d3 = 123;
Integer d4 = 123;
System.out.println(d3==d4);//true [-128,127]之间的数,仍然当作基本数据类型来处理。
System.out.println(d3.equals(d4));//true