java学习之路----对象包装器与自动装箱

对象包装器与自动装箱
包装器类引用为null,所以自动装箱可能会抛出一个NullPointerException异常:

Integer n=null;
System.out.println(2*n);  //Throws NullPointerException

另外,如果在一个条件表达式中混合使用Interger和Double类型,Interger值就会拆箱,提升为double,再装箱为Double:

Integer n=1;
Double x=2.0;
System.out.println(true?n:x) ;//Prints 1.0

装箱和拆箱是编译器认可的,而不是虚拟机,虚拟机只是执行这些字节码。
使用数值对象包装器好处:可以将某些基本方法放置在包装器中,例如,将一个数字字符串转换成数值
要想将字符串转换成整形,可使用

int x=Interger.parseInt(s);

此外,包装器类不可以用来修改数值参数的方法,Interger对象是不可变的:包含在包装器中的内容不会改变。不能使用这些包装器类创建修改数值参数的方法。

API java.lang.Interger 1.0
int intValue()

以int的形式返回Interger对象的值(在Number类中覆盖了intValue方法)

static String toString(int i)

以一个行的String对象的形式返回给定数值i的十进制表示。

static String toString(int i,int radix)

返回数值i的基于给定radix参数进制的表示。

static int parseInt(String s)
static int parseInt(String s,int radix)

返回字符串s表示的整形数值,给定字符串表示的是十进制的整数(第一种方法),或者是radix参数进制的整数(第二种方法)

static Integer valueOf(String s)
static Integer value Of(String s,int radix)

返回用s表示的整型数值进行初始化的一个新的Interger对象,给定字符串表示的是十进制的整数(第一种方法),会这是radix参数进制的整数(第二种方法)。

API  java.text.NumberFormat 1.1
Number parse(String s)

返回数字值,假设给定的String表示了一个数值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值