先解释一下装箱和拆箱:

装箱就是  自动将基本数据类型转换为包装器类型;拆箱就是  自动将包装器类型转换为基本数据类型。

  下表是基本数据类型对应的包装器类型:

int(4字节) Integer
byte(1字节) Byte
short(2字节) Short
long(8字节) Long
float(4字节) Float
double(8字节) Double
char(2字节) Character
boolean(未定) Boolean

下面是代码:

public class BoxAndUnbox {

/**
* @param args
*/
      public static void main(String[] args)

{
      int value=100;

Integer obj=value; //装箱

int result=obj*2; //拆箱
      System.out.println(result);

System.out.println(obj);

}

}

Sy

Integer类的装箱和拆箱到底是怎样实现的?

 反编译class文件之后得到如下内容:

  

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

 因此可以用一句话总结装箱和拆箱的实现过程:

  装箱过程是通过调用包装器的valueOf方法实现的,而拆箱过程是通过调用包装器的 intValue方法实现的.

转载于:https://www.cnblogs.com/aishangtaxuefeihong/p/4886997.html

Integer类的装箱和拆箱到底是怎样实现的?相关推荐

  1. Integer自动装箱和拆箱,以及不使用不使用new关键字直接赋值会遇到的的问题

    Integer直接赋值使用==判断是否相等 //java中如果Integer不是new出Integer对象,而是直接赋值如Integer a=100;Integer b=100;System.out. ...

  2. .NET六大剑客:栈、堆、值类型、引用类型、装箱和拆箱

    .NET六大剑客:栈.堆.值类型.引用类型.装箱和拆箱 一."堆","栈"专区 这两个字我相信大家太熟悉了,甚至于米饭是什么?不知道..."堆&quo ...

  3. java可以用 lt =判断int吗_int 和 integer:装箱和拆箱的过程,会用到什么方法

    本文转载自[微信公众号:五角钱的程序员,ID:xianglin965],经微信公众号授权转载,如需转载与原文作者联系 原文标题<int 和 integer :装箱和拆箱的过程,会用到什么方法,你 ...

  4. 由自动装箱和拆箱引发我看Integer源码

    背景和问题 在看别人整理的资料时,看到如下一段代码: package com.sitech.test;/** * 自动装箱和拆箱 jdk1.6 * @author liaowp * */public ...

  5. Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】

    视频+资料(工程源码.笔记)[链接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg   提取码:zjxs] Java基础--学习笔记(零起点打开java ...

  6. Java面试知识点:Object类、Math类、BigDecimal类、自动装箱、拆箱

    问题:Java面试知识点:Object类.BigDecimal类.自动装箱.拆箱 答案: 1.Object类: 代码如下: package com.xy;/*** @ProjectName: day0 ...

  7. 2019-7-9 [JavaSE] String ,StringBuffer,StringBuilder比较 装箱和拆箱 日期类 正则

    文章目录 1.StringBuffer类 方法: 利用StringBuffer开头与结束的时间计算: String ,StringBuffer,StringBuilder比较 2.装箱和拆箱 3.日期 ...

  8. 2019-9-19【Javase】String字符串、装箱和拆箱、日期类、正则

    文章目录 一.字符串 1.String类 2.StringBuffer类 StringBuffer 和 StringBuilder区别: 二.装箱和拆箱 装箱和拆箱: 比较: 常用的功能: 三.日期类 ...

  9. Integer装箱和拆箱 以及扔玻璃球的题目

    Integer装箱和拆箱,很奇怪的,因此Integer比较不要使用==! package interview; public class IntegerTest { public static voi ...

最新文章

  1. 一键抓取sqlserver数据结构
  2. 如何实现CSS居中?–CSS居中常用方法
  3. Spring Mvc返回html页面404错误解决记录--转载
  4. [当人工智能遇上安全] 1.人工智能真的安全吗?浙大团队外滩大会分享AI对抗样本技术
  5. ExtAspNet应用技巧(十四) - 系统设置
  6. python如何只保留数字_如何查询刷卡消费有没有积分?只需用4个数字马上能查...
  7. TCP/IP具体解释--TCP的分段和IP的分片
  8. 1.Spring Boot入门
  9. 数家韩国银行出现网路钓鱼网站
  10. 拒绝搜索引擎抓取页面
  11. [JNI]开发之旅(5)访问c/c++函数
  12. Windows 版Oracle 19c 下载安装步骤及细节(Oracle数据库下载)
  13. 计算机的表白隐藏功能,微信还有这个功能?隐藏代码还能表白!教你高级告白手段...
  14. 运算放大器节点电压方程_区分运算放大器和电压比较器
  15. 服务器柜机位置摆放电子图,柜式空调摆放位置有什么要注意的吗
  16. 湖北武汉劳务员证书劳务人员实名制管理的现状建筑七大员培训
  17. 小米android的手机根目录,小米手机用re模式进行刷机。把rom放进根目录,根目录是哪里?...
  18. 【详细】用Python的pyttsx3、pygame和PySimpleGUI库实现文字转语音工具(无需网络接口)
  19. Python OpenCV putText() 在图像中放置文本
  20. 楼天城、清华邓志东激辩自动驾驶:近在咫尺还是遥遥无期?| 清华AI Time

热门文章

  1. php 随机数 名称,php – 从标题更改为随机数
  2. gephi 使用mysql数据,gephi练习数据
  3. ajax遍历递归树数据,怎么用JS递归发送AJAX请求
  4. 基于PyQt的扫雷游戏实现_上篇
  5. php 获取视频首帧,从视频中提取特定帧的最快方法(PHP/ffmpeg/anything)
  6. Java怎么去最高分最低分,深入java虚拟机:原子操作ParkEvent和Parker
  7. 怎样让html中元素不被其他元素遮挡_Web前端开发之HTML元素
  8. JAVA8的新特性之函数式接口
  9. 计算机网络 —— 总结(面试问题)
  10. unknow ’query_cache_size’报错的解决方法吗