java中为什么自动装箱拆箱_为什么我们在Java中使用自动装箱和拆箱?

“自动装箱” 用于将原始数据types转换为其包装类对象。 包装类提供了对原始types执行的各种function。 最常见的例子是:

int a = 56; Integer i = a; // Auto Boxing

这是需要的,因为程序员很容易能够直接编写代码,JVM会照顾拳击和拆箱。

当我们使用java.util.Collectiontypes时,自动装箱也会派上用场。 当我们想要创build一个原始types的集合,我们不能直接创build一个原始types的集合,我们只能创build对象的集合。 例如 :

ArrayList al = new ArrayList(); // not supported ArrayList al = new ArrayList(); // supported al.add(45); //auto Boxing

包装类

每个Java的8个基本types(byte,short,int,float,char,double,boolean,long)都有一个独立的Wrapper类。 这些Wrapper类具有预定义的方法,用于对基本数据types执行有用的操作。

使用包装类

String s = "45"; int a = Integer.parseInt(s); // sets the value of a to 45.

Wrapper类提供了许多有用的函数。 看看这里的java文档

拆箱与自动装箱相反,我们将包装类对象转换回原始types。 这是由JVM自动完成的,以便我们可以使用包装类进行某些操作,然后将它们转换回原始types,因为原语会导致int处理更快。 例如 :

Integer s = 45; int a = s; auto UnBoxing;

如果集合与对象一起使用,则仅使用自动拆箱。 就是这样 :

ArrayList al = new ArrayList(); al.add(45); int a = al.get(0); // returns the object of Integer . Automatically Unboxed .

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值