IntegerDemo1
/**
- 包装类
- 包装类是为了解决基本类型不能直接参与面向对象开发的问题.
- 8个基本类型对应8个不同的包装类,其中6个表示数字的包装类继承自java.lang.Number,
- 其他两个继承自Object
- @author Administrator
/
public class IntegerDemo1 {
public static void main(String[] args) {
int d=127;
Integer i1=Integer.valueOf(d);
Integer i2=Integer.valueOf(d);
/*
* java推荐我们使用包装类的静态方法:
* valueOf来讲基本类型数据转换为包装类
* Integer重用-128~127的对象
*/
System.out.println(i1i2);
System.out.println(i1.equals(i2));
int d1=128;
Integer i3=Integer.valueOf(d1);
Integer i4=Integer.valueOf(d1);
System.out.println(i3i4);//false
System.out.println(i3.equals(i4));
byte b1=i3.byteValue();
System.out.println(b1);//-128
}
}
IngeterDemo2
/**
- 数字类型的包装类有两个常量:
- MAX_VALUE.MIN_VALUE分别记录了其对应的基本类型的取值范围
- @author Administrator
/
public class IntegerDemo2 {
public static void main(String[] args) {
int imax=Integer.MAX_VALUE;
int imin=Integer.MIN_VALUE;
long lmax=Long.MAX_VALUE;
double dmin=Double.MAX_VALUE;
char cmax=Character.MAX_VALUE;
System.out.println(imax);
System.out.println(imin);
System.out.println(lmax);
System.out.println(dmin);
System.out.println(cmax);
/*
* 包装类提供了一个功能,静态方法:parseXXX
* 该方法可以将字符串解析为对应的基本类型数据,前提是该字符串能正确
* 描述要转换的基本类型可以保存的值
*/
int t=1;
Integer i=t;
int i1=new Integer(1);
String str=“123.2”;
int a=Integer.parseInt(str);
System.out.println(str);
}
}
JDK5之后的一个新特性
/**
- JDK5之后推出一个新的特性:自动才装箱
- 该特性是编译器认可的,而不是虚拟机.编译器在看到有基本类型与包装类
- 之间互相赋值时会添加转换代码将他们转换
- @author Administrator
/
public class IntegerDemo3 {
public static void main(String[] args) {
/*
* 这里触发了编译器的自动拆箱特性
* 代码会被编译器改为
* int i=new Ingeter(1).intValue();
/
int i=new Integer(1);
/
* 触发器自动装箱特性,代码会被改为:
* Integer in =Integer.valueOf(1);
*/
Integer in=i;
}