什么是装箱拆箱?

Java有8种基本数据类型,并且为这8种类型提供了包装器类型。比如说int类型的包装器类型是Integer。

装箱是指将基本数据类型转换成对应的包装器类型。拆箱是指将包装器类型转换基本数据类型。

Integer i = 10;  //自动装箱
int n = i;   //自动拆箱

装箱拆箱是如何实现的

在装箱的时候自动调用的是Integer的valueOf(int)方法。而在拆箱的时候自动调用的是Integer的intValue方法。

也就是说Integer i = 10实际上是Integer.valueOf(10),int n = i实际上是i.intValue()

面试中的相关问题

     Integer integer = 1;Integer integer1 = new Integer(1);//包装器类型的构造方法必然会创建一个新的对象Integer integer3 = 1;int i = 1;System.out.println(integer==integer3);//Integer.valueOf会对-128-127的数做缓存,所以integer和integer3指向同一个对象System.out.println(integer==integer1);//两个操作是引用类型时,这种情况不会触发拆箱,==是比较两个对象的内存地址,结果是falseSystem.out.println(integer==i);//,integer会拆箱成int类型,结果是trueSystem.out.println(integer<integer1);//integer和integer1都会拆箱成int类型,结果是false

注意:除了==或者!=操作两个包装器实例的情况是比较对象内存地址外,其他的操作符操作包装器类型的话都会触发自动拆箱。

【JAVA基础篇】彻底搞懂拆箱装箱相关推荐

  1. 拆箱装箱有什么作用JAVA_基础--最简单明了的拆箱装箱解释,带实例

    前言 在JAVA中,拆箱和装箱操作是发生在基本数据类型和其包装类之间的一种操作. JAVA中的八种基本类型有:byte short int long float double boolean char ...

  2. 菜鸟学习笔记:Java基础篇7(包装类、时间相关类、文件类、异常处理类)

    菜鸟学习笔记:Java其他常用类 基本数据类型包装类 时间处理和文件处理相关类 Date时间类 SimpleDateFormat Calendar日历类 文件类 异常机制 异常的概念 Java异常处理 ...

  3. 你所需要的java基础篇深入解析大汇总

    java基础篇深入解析大总结 java基础(一) 深入解析基本类型 java基础(二) 自增自减与贪心规则 java基础(三) 加强型for循环与Iterator java基础(四) java运算顺序 ...

  4. 《Java 后端面试经》Java 基础篇

    <Java 后端面试经>专栏文章索引: <Java 后端面试经>Java 基础篇 <Java 后端面试经>Java EE 篇 <Java 后端面试经>数 ...

  5. 高频面试真题答案 -java后端 -java基础篇

    原贴 2022届秋招高频面试真题汇总,千题奉送!!!- 后端篇_笔经面经_牛客网 整理答案: 类加载机制 47 双亲委派机制 24 new一个对象的过程 4 java程序是如何运行起来的? 1 jvm ...

  6. 菜鸟学习笔记:Java基础篇4(面向对象三大特征)

    菜鸟学习笔记:Java面向对象篇中 继承 概念 方法重写(override) Object类 Super关键字 组合 final关键字补充 封装 访问控制符 多态 继承 概念 继续上一篇的例子: #m ...

  7. 菜鸟学习笔记:Java基础篇3(面向对象思想、程序执行过程内存分析、面向对象重要概念)

    菜鸟学习笔记:Java面向对象篇上 Java面向对象的思想 Java程序执行过程内存分析 Java垃圾回收机制 构造方法 方法重载(overload) static关键字 this关键字 Java面向 ...

  8. Java程序员应该搞懂的六个问题

    Java程序员应该搞懂的六个问题 太平洋电脑网 作者:雷少 对于这个系列里的问题,每个学Java的人都应该搞懂.当然,如果只是学Java玩玩就无所谓了.如果你认为自己已经超越初学者了,却不很懂这些问题 ...

  9. Java基础篇--设计模式

    目录 前言 设计模式 创建型模式 单例模式 工厂方法模式 抽象工厂模式 建造者模式 原型模式 结构型模式 适配器模式 桥接模式 组合模式 装饰模式 外观模式 亨元模式 代理模式 行为型模式: 访问者模 ...

最新文章

  1. [JMX一步步来] 1、JMX的Hello World
  2. java练气期(1)----java高级(JDBC)
  3. VTK:Rendering之PhysicalBasedRendering
  4. 2015蓝桥杯省赛---java---B---6(加法变乘法)
  5. mfc 添加 excel类给定关键字不在字典中_pyppeteer最为核心类Page的接口方法
  6. 【转载】deque双向队列
  7. Docker系列(五)实战:在容器中部署静态网站
  8. 创意视觉应用︱基于深度学习的CVaaS计算机视觉即服务案例(Computer Vision as a Service)
  9. 采样定理的证明与推导
  10. 微型计算机存储器cache,微型计算机存储器系统中的Cache是
  11. c++ 字母降落小游戏
  12. 什么是Java(什么?Java?)
  13. [转载]GIS派系大解密(转)_拔剑-浆糊的传说_新浪博客
  14. Vue React大屏可视化进阶
  15. 按颜色分类:青绿色系(Blue Green)
  16. 一次服务器硬盘损坏修复记录贴(顺便把服务器硬件信息都搞清楚了)
  17. 【安卓 R 源码】Activity 启动流程及其生命周期源码分析
  18. 简述计算机桌面背景更换的流程,苹果电脑桌面壁纸怎么更换【详细步骤】
  19. win10下Abaqus 6.14 安装
  20. 可视化Redis软件RDM(RedisDesktopManager)的安装和使用

热门文章

  1. php在线考试系统模板下载,PHPEMS在线模拟考试系统 v6.1
  2. Linux上的js解码,使用JavaScript实现Base64编码与解码
  3. JsonData工具类
  4. SpringBoot2 中 spring.http.multipart.max-file-size 报错问题
  5. 企业实战_09_MyCat 搭建Mysql 一主三从复制环境
  6. Flowable 数据库表结构 ACT_HI_TASKINST
  7. WPS重复数据高亮显示
  8. 第五篇:路由网关(zuul) zuul路由 服务过滤 (Finchley版本)V2.0_dev
  9. 编写一个C程序,实现以下功能:用一个函数实现两个字符串的比较,即自己写一个strcmp函数,函数原型为:int strcmp(char *p1,char *p2);设p1指向字符串s
  10. Qt在指定区域内拖动窗口