继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

java包装器。。。。。。

大叔_fighting
关注TA
已关注
手记 81
粉丝 44
获赞 400

自动装箱的弊端:
自动装箱有一个问题,那就是在一个循环中进行自动装箱操作的情况,如下面的例子就会创建多余的对象,影响程序的性能。

1
2
3
4
Integer sum = 0;
for(int i=1000; i<5000; i++){
sum+=i;
}

上面的代码sum+=i可以看成sum = sum + i,但是+这个操作符不适用于Integer对象,首先sum进行自动拆箱操作,进行数值相加操作,最后发生自动装箱操作转换成Integer对象。其内部变化如下

1
2
sum = sum.intValue() + i;
Integer sum = new Integer(result);

由于我们这里声明的sum为Integer类型,在上面的循环中会创建将近4000个无用的Integer对象,在这样庞大的循环中,会降低程序的性能并且加重了垃圾回收的工作量。因此在我们编程时,需要注意到这一点,正确地声明变量类型,避免因为自动装箱引起的性能问题。

只针对于-127到127的
包装器可以实现类型转换
包装器是对象 多创建会造成资源浪费
作用:
有些基本类型行不通 就可以用到包装器
集合不允许存放基本类型
通过包装类 String和基本类型可以转换 toString()方法

通过包装类还可以实现同种类型的比较

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP