您的位置:首页 > 编程语言 > Java开发

码讲——Java基本类型包装类

2015-07-01 22:53 288 查看
/**===================基本数据类型包装类=======================
* 为了解决基本类型不能参与面向对象开发的问题
================================================================*/
public class IntegerDemo {
private static final long LEVEL = 20150701;//本码讲版本
/**
* 装箱与拆箱
*/
public void packAndUnpack(){
//装箱
Double d1 = new Double(12323123123131231.123);
//用Integer的valueOf创建的包装类可缓存对象,只限一个字节内的值,即127
Integer i1 = Integer.valueOf(127);
Integer i2 = Integer.valueOf(127);
System.out.println("Integer缓存127以内的数"+(i1==i2));//i1==i2 true  128时将为false
//Double目前为止仍新建对象创建,但仍推荐value方式创建包装类
Double d5 = Double.valueOf(123.123);
//拆箱
double d3 = d1.doubleValue();
double d9 = i1.doubleValue();
System.out.println(d9);
//可以这么干但是会损失精度
int i = d1.intValue();//即使超过int表示范围也可以
System.out.println(i);
Long l1 = Long.valueOf(39);
//i = l1.longValue();//编译出错 改为IntValue正常
}
/**
* 最大值与最小值
*/
public void MaxAndMin(){
//包装类都有MAX_VALUE和MIN_VALUE常量来代表基本类型的取值范围
System.out.println("Integer最大值:"+Integer.MAX_VALUE);
System.out.println("Integer最小值:"+Integer.MIN_VALUE);
}
/**
* 解析String为相应基本类型
*/
public void stringTo(){
String str  = "123";
int i = Integer.parseInt(str);
String str1 = "123.123";
int i2 = Integer.parseInt(str1);//运行期异常,因为前提是字符串必须正确描述基本类型
}
/**
* 自动拆装箱 1.5开始
*/
public void autoPack(){
Double d2 = 123.23;//自动装箱
double d4 = d2;//自动拆包
doSome(1);//自动装箱

Integer i = 100;
System.out.println(100==i);//直接使用就可以
}
public void doSome(Object obj){}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: