课程咨询 :0592-5903858 QQ:1079585464

厦门达内java培训

厦门Java培训 > 达内新闻 > 达内:java的拆箱与装箱
  • 达内:java的拆箱与装箱

    发布:厦门Java培训      来源:慕课网      时间:2016-02-25


  •     厦门达内java培训专家说一下什么是java的拆箱与装箱。

    一、定义

        装箱与拆箱主要就是类型转化

        装箱是将值类型转换为引用类型 ;拆箱是将引用类型转换为值类型

    二、装箱与拆箱的特点

        装箱Integer类型(其他类型相同)

    Integer i =1; 

        拆箱子

    int m = i; 

        两个对象之间的对比一般是用 equals ~~对比不同 ,不能直接双等于。

        比如说

    Integer m = 0;

    Integer n = 0;

    m==n是完全错误的(正确的写法:m.equals(n))

        不过,有例外的情况

        在一定范围内的数是可以用==来判断,一旦超越某个数值就会出错

        这个问题的原因是:

        如果数值在[-128,127]之间,便返回指向IntegerCache.cache中已经存在的对象的引用;否则创建一个新的Integer对象。

        如果是

    Integer m = 0;

    int n = 0;

    m==n 

        这个是对的~~他会自动拆箱

        解释如下:

        当 "=="运算符的两个操作数都是包装器类型的引用,则是比较指向的是否是同一个对象

        而如果其中有一个操作数是表达式(即包含算术运算)则比较的是数值(即会触发自动拆箱的过程)。

        另外,对于包装器类型,equals方法并不会进行类型转换。







    原文链接:http://www.imooc.com/article/4963
    推荐文章

上一篇:达内:什么是java多态

下一篇:达内:接口的作用

最新开班日期  |  更多

Java--大数据周末班

Java--大数据周末班

开班日期:每周一

Java--大数据全日制班

Java--大数据全日制班

开班日期:每周一

Java--零基础周末班

Java--零基础周末班

开班日期:每周一

Java--零基础全日制班

Java--零基础全日制班

开班日期:每周一

  • 地址:厦门软件园二期望海路59号之一401达内科技
  • 课程培训电话:0592-5903858 QQ:1079585464     全国服务监督电话:400-111-8989
  • 服务邮箱 tousu@tedu.cn
  • 2001-2016 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56