包装类:
用于将基本类型数据当作引用类型看待。
八个基本类型都有其对应的引用类型。
例如:
integer i= new Integer(1);
创建一个以对象形式存在的整型1。这种从基本类型转变为引用类型的过程称之为"装箱"。反之叫"拆箱"。
拆箱方法:
int a = i.intvalue();
Double d = new Double(2.2);//装箱
Double d = Double.valueOf(2.2);//装箱
double num = d.doubleValue();//拆箱
包装类的名字:
除了Integer(int),Character(char)外,其余的包装类名字都是基本类型名首字母大写。
package day02;
public class DemoInteger {
public static void main(String[] args) {
DemoInteger demo = new DemoInteger();
say(demo);//静态方法里面只能引用静态的属性和方法
int a = 12;//基本类型,不是Object子类!
/**
* 实例化一个对象,该对象代表整数1
* Integer的作用是让基本类型int作为一个引用类型去看待。
* 这样就可以参与到面向对象的编程方式了。
* 由此我们可以将一个int当作一个Object去看到了。
*/
Integer i = new Integer(a);//装箱
Integer ii = Integer.valueOf(a);//装箱
int num = i.intValue(); //拆箱
/**
* java1.5包装类自动拆装箱。
* 在编译源程序的时候,编译器会预处理。将未做拆箱和装箱工作的 语句自动拆箱和装箱。
*/
say(i);//在java1.4版本的时候,这里还是语法错误的!
//Integer是Object的子类,可以调用!
/*
* 自动拆箱
*/
num = i;//引用类型变量怎么能赋值给基本类型呢?在编译期间自动做了拆箱处理
}
/**
* 输出对象的toString()方法的返回值
* @param obj
*/
public static void say(Object obj){
System.out.println(obj);
}
}
package day02;
/**
* 包装类的一些常用功能
*
* @author Administrator
*
*/
public class DemoInteger2 {
public static void main(String[] args) {
/**
* 包装类可以将描述该类型数据的字符串转换为对应的数据类型
*/
String numStr = "123";
/**
* 包装类都可以将字符串转换为其类型
* 方法是:parseXXX XXX代表其类型
* 这里要特别注意!一定要保证待转换的字符串描述的确实是或者兼容要转换的数据类型!
* 否则会抛出异常。
*/
int num = Integer.parseInt(numStr);
long longNum = Long.parseLong(numStr);
double doubleNum = Double.parseDouble(numStr);
System.out.println(doubleNum+1);
/**
* Integer为我们提供了几个有趣的方法
* 将一个整数转换为16进制的形式并以字符串返回
* 将一个整数转换为2进制的形式并以字符串返回
*/
String bStr = Integer.toBinaryString(num);//转换为2进制
String hStr = Integer.toHexString(num);//转换为16进制
System.out.println(bStr);
System.out.println(hStr);
/**
* 所有包装类具有几个共同的常量
*/
int max = Integer.MAX_VALUE;//获取int最大值
int min = Integer.MIN_VALUE;//获取int最小值
}
}