Integer类的装箱和拆箱到底是怎样实现的?
先解释一下装箱和拆箱:
装箱就是 自动将基本数据类型转换为包装器类型;拆箱就是 自动将包装器类型转换为基本数据类型。
下表是基本数据类型对应的包装器类型:
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类的装箱和拆箱到底是怎样实现的?相关推荐
- Integer自动装箱和拆箱,以及不使用不使用new关键字直接赋值会遇到的的问题
Integer直接赋值使用==判断是否相等 //java中如果Integer不是new出Integer对象,而是直接赋值如Integer a=100;Integer b=100;System.out. ...
- .NET六大剑客:栈、堆、值类型、引用类型、装箱和拆箱
.NET六大剑客:栈.堆.值类型.引用类型.装箱和拆箱 一."堆","栈"专区 这两个字我相信大家太熟悉了,甚至于米饭是什么?不知道..."堆&quo ...
- java可以用 lt =判断int吗_int 和 integer:装箱和拆箱的过程,会用到什么方法
本文转载自[微信公众号:五角钱的程序员,ID:xianglin965],经微信公众号授权转载,如需转载与原文作者联系 原文标题<int 和 integer :装箱和拆箱的过程,会用到什么方法,你 ...
- 由自动装箱和拆箱引发我看Integer源码
背景和问题 在看别人整理的资料时,看到如下一段代码: package com.sitech.test;/** * 自动装箱和拆箱 jdk1.6 * @author liaowp * */public ...
- Java13-day04【Integer、int和String的相转、自动装箱和拆箱、Date、SimpleDateFormat、Calendar、异常、try...catch、throws】
视频+资料(工程源码.笔记)[链接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg 提取码:zjxs] Java基础--学习笔记(零起点打开java ...
- Java面试知识点:Object类、Math类、BigDecimal类、自动装箱、拆箱
问题:Java面试知识点:Object类.BigDecimal类.自动装箱.拆箱 答案: 1.Object类: 代码如下: package com.xy;/*** @ProjectName: day0 ...
- 2019-7-9 [JavaSE] String ,StringBuffer,StringBuilder比较 装箱和拆箱 日期类 正则
文章目录 1.StringBuffer类 方法: 利用StringBuffer开头与结束的时间计算: String ,StringBuffer,StringBuilder比较 2.装箱和拆箱 3.日期 ...
- 2019-9-19【Javase】String字符串、装箱和拆箱、日期类、正则
文章目录 一.字符串 1.String类 2.StringBuffer类 StringBuffer 和 StringBuilder区别: 二.装箱和拆箱 装箱和拆箱: 比较: 常用的功能: 三.日期类 ...
- Integer装箱和拆箱 以及扔玻璃球的题目
Integer装箱和拆箱,很奇怪的,因此Integer比较不要使用==! package interview; public class IntegerTest { public static voi ...
最新文章
- 一键抓取sqlserver数据结构
- 如何实现CSS居中?–CSS居中常用方法
- Spring Mvc返回html页面404错误解决记录--转载
- [当人工智能遇上安全] 1.人工智能真的安全吗?浙大团队外滩大会分享AI对抗样本技术
- ExtAspNet应用技巧(十四) - 系统设置
- python如何只保留数字_如何查询刷卡消费有没有积分?只需用4个数字马上能查...
- TCP/IP具体解释--TCP的分段和IP的分片
- 1.Spring Boot入门
- 数家韩国银行出现网路钓鱼网站
- 拒绝搜索引擎抓取页面
- [JNI]开发之旅(5)访问c/c++函数
- Windows 版Oracle 19c 下载安装步骤及细节(Oracle数据库下载)
- 计算机的表白隐藏功能,微信还有这个功能?隐藏代码还能表白!教你高级告白手段...
- 运算放大器节点电压方程_区分运算放大器和电压比较器
- 服务器柜机位置摆放电子图,柜式空调摆放位置有什么要注意的吗
- 湖北武汉劳务员证书劳务人员实名制管理的现状建筑七大员培训
- 小米android的手机根目录,小米手机用re模式进行刷机。把rom放进根目录,根目录是哪里?...
- 【详细】用Python的pyttsx3、pygame和PySimpleGUI库实现文字转语音工具(无需网络接口)
- Python OpenCV putText() 在图像中放置文本
- 楼天城、清华邓志东激辩自动驾驶:近在咫尺还是遥遥无期?| 清华AI Time
热门文章
- php 随机数 名称,php – 从标题更改为随机数
- gephi 使用mysql数据,gephi练习数据
- ajax遍历递归树数据,怎么用JS递归发送AJAX请求
- 基于PyQt的扫雷游戏实现_上篇
- php 获取视频首帧,从视频中提取特定帧的最快方法(PHP/ffmpeg/anything)
- Java怎么去最高分最低分,深入java虚拟机:原子操作ParkEvent和Parker
- 怎样让html中元素不被其他元素遮挡_Web前端开发之HTML元素
- JAVA8的新特性之函数式接口
- 计算机网络 —— 总结(面试问题)
- unknow ’query_cache_size’报错的解决方法吗