在java中有byte、short、int、float、double、long、boolean7中基本类型即其对应的包装类型。在java SE5之前要想生产一个基本类型数值的对象,必须像下面这样:
Integer count = new Integer(1);
而从java SE5开始提供了自动装箱功能,即要生成一个基本类型数值的对象,只要像下面这样即可:
Integer count = 1;
而把一个包装类型变量赋给一个基本类型的变量即是拆箱:
Integer count = 1; //装箱 int n = count; //拆箱
所以,装箱就是把基本类型转为包装类型,拆箱就是把包装类型转为基本类型。
接下来看看是如何完成装箱和拆箱的:
package com.jvm.mm; public class BaseTest { public static void main(String[] args) { Integer count = 1;// 装箱 int n = count;// 拆箱 } }
编译查看字节码如下图:
从上图的字节码可以看,装箱时调用的是Integer的valueOf()方法,拆箱调用的是Integer的intValue()方法。
那么什么时候会用到装箱呢?
使用泛型时需要用到装箱功能,比如:
List<Integer> list;
如果使用基本类型是编译不了的:
List<int> list;//报错
相关推荐
Java中的装箱和拆箱是面向对象编程中的一个重要概念,主要涉及到Java的自动类型转换机制。装箱是指将基本数据类型(如int、char、boolean等)转换为对应的包装器类对象,而拆箱则是相反的过程,即把包装器类的对象...
“深入理解Java中的装箱和拆箱” 一、什么是装箱?什么是拆箱? 在Java中,每种基本数据类型都有对应的包装器类型,例如int对应Integer、byte对应Byte等。装箱是指将基本数据类型自动转换为包装器类型的过程,而...
在Java编程中,自动装箱(Autoboxing)和自动拆箱(Unboxing)是两个非常核心的概念,它们允许基本数据类型和它们对应的包装类之间无缝转换。这种转换机制在Java 5中引入,极大地简化了代码编写,但同时也带来了一些...
java装箱拆箱.ppt java装箱拆箱.ppt
在Java编程语言中,自动装箱(Autoboxing)和自动拆箱(Unboxing)是两个重要的特性,它们简化了基本类型(如int、double等)与对应的包装类(如Integer、Double等)之间的转换过程。这些特性是在Java 5引入的,极大...
本文将深入讲解Java装箱与拆箱的基本概念,并通过实例代码进行演示。 装箱(Boxing)是Java自动将基本数据类型转换为对应的包装类的过程。例如,int类型转换为Integer,char类型转换为Character等。这是Java 5引入...
在Java中,自动装箱(Autoboxing)和拆箱(Unboxing)是Java编译器提供的一种特性,用于在基本数据类型和对应的包装类之间进行自动转换。这种特性简化了编程过程中的类型转换操作,使得代码更为简洁易读。 **自动...
Java中自动装箱和拆箱是Java语言中一个重要的特性,它可以将基本数据类型和它们的包装类之间进行转换,这个过程是透明的,程序员不需要手动进行转换。但是,这个过程会引起一些耗时问题,本文将详细介绍Java中自动...
### Java中的装箱和拆箱 #### 一、引言 在Java中,存在两种不同的数据类型:基本数据类型和引用数据类型。基本数据类型包括`int`、`double`等,而引用数据类型主要是指类(Class)、接口(Interface)和数组...
在Java编程语言中,自动装箱(Autoboxing)和自动拆箱(Unboxing)是从Java 1.5版本开始引入的一项特性,其目的是简化原始类型(Primitive Types)与它们对应的包装类(Wrapper Classes)之间的转换过程。...
自动装箱和拆箱问题是Java中一个老生常谈的问题了,我们来一些看一下装箱和拆箱中的若干问题。本文先讲述装箱和拆箱基本的东西,再来看一下面试笔试中经常遇到的与装箱、拆箱相关的问题。 以下是本文的目录大纲:...
Java中的自动装箱和拆箱是自J2SE 5.0版本引入的特性,它极大地简化了基本数据类型与其对应的包装类之间的转换过程。基本数据类型包括int、double、boolean等,而包装类如Integer、Double和Boolean分别对应这些基本...
Java自动装箱和拆箱的实现原理是 Java语言的一个重要特性,它使得开发者可以更加方便地使用原始类型和封装类之间的转换,但是同时也容易引发一些疑惑和错误。通过了解自动装箱和拆箱的实现原理,我们可以更好地使用...
Java面试题06.装箱和拆箱.mp4
java是个包装特别好的绅士,其实即便编译器悄悄在私底下干了什么龌龊事儿,我们一般来说也不是很容易看的到。 不过这些问题可以通过看字节码来解决。 代码很简单: Integer x = 5; x++; 且看字节码: ...
java面试题精讲视频MP4Java面试题06.装箱和拆箱提取方式是百度网盘分享地址
Java装箱和拆箱是Java语言中的一种特性,主要用于基本数据类型(如int、char、boolean等)与它们对应的引用类型(如Integer、Character、Boolean等包装器类)之间的转换。这种转换在处理集合框架、泛型以及某些高级...
对于基本数据类型与包装类之间的转换,Java提供了一个非常便利的功能——自动装箱和自动拆箱。这些功能极大地简化了编程流程,使代码更加简洁易读。 #### 基本数据类型与包装类 在Java中,**基本数据类型**是指...
什么是装箱和拆箱
Java中的装箱和拆箱是面向对象编程中的一个重要概念,主要涉及到基本数据类型与它们对应的包装器类之间的转换。在Java SE 5及以后的版本中,为了方便开发者使用,引入了自动装箱和拆箱的功能。 一、什么是装箱和...