Wrapper Class 包装类

*What is Wrapper Class(包装类)?
Java为8种数据类型分别定义的相应的引用类型,称之为基本数据数据的“包装类”。包括:Byte、Short、Integer、Long、Character、Float、Double、Boolean。这些类都继承自Object类。


*How to use Wrapper Class?
1. 通过构造器创建一个包装类对象,通过xxxValue()实例方法来获取对象的值;
boolean b1 = true;
Boolean b1Obj = new Boolean (b1);
boolean b2 = b1Obj.booleanValue();


//下面代码将引发java.lang.NumberFormatException错误
Long lObj = new Long ("ddd");


2. 直接将一个基本类型赋给包装类对象
Integer inObj = 5;
int in = inObj;


3. 包装类实现基本类型变量和字符串之间的转换
3.1 字符串-->基本类型变量
A. 利用包装类提供的parseXXX (String s)方法;
B. 利用包装类提供的XXX(String s)构造器;
3.2 基本类型变量-->字符串
利用String包装类提供的多个重载valueOf()方法;


*Why we use Wrapper Class?
1. 满足有些方法对参数的要求
有些方法只能传一些Object参数,例如List类里面有一个add(String item)的方法,只能传;
2. 实现字符串与基本变量之间的转换
上述How里面第3点已经介绍了; 
另一种更简单的转换方法为:
//intStr的值为5
String intStr = 5 + "";


其他:
1. 包装类对象的值可以与基本类型值比较;
2. JDK 1.5以后支持自动装箱后,某些情况下比较会有问题(缓存机制),例如:
Integer ina = 2;
Integer inb = 2;
此时,如果比较 ina == inb,结果为true;
但是,如果将ina,inb的值改为128,再执行比较时,就会false;(-128,127)之间整数系统为放入一个cache数组缓存起来;128时会再创建一个对象;


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值