厦门Java培训
达内上海中山公园中心

13486356750

热门课程

达内:java的拆箱与装箱

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


    厦门达内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多态
下一篇:达内:接口的作用

达内教育蝉联荣登“2016百度数字资产榜单”职业教育类第一名

795万高校毕业生创历史新高,2017届毕业生就业近况几何?

恭喜达内获得《产学合作协同育人项目合作伙伴奖》

达内Java大数据捷报频传,最高薪资15000元

选择城市和中心
贵州省

广西省

海南省

台湾