`

5、基本数据类型的自动装箱拆箱

阅读更多

一、自动装箱拆箱

 

  1. 自动装箱/拆包大大方便了基本类型数据和它们包装类地使用。
  2. 自动装箱:基本类型自动转为包装类.(int >> Integer)
  3. 自动拆箱:包装类自动转为基本类型.(Integer >> int)
  4. 在JDK1.5之前,我们总是对集合不能存放基本类型而耿耿于怀,现在自动转换机制解决了我们的问题。
  5. Integer x = 1; x = x + 1;  经历了什么过程?装箱-拆箱-装箱;
  6. 为了优化,虚拟机为包装类提供了缓冲池,Integer池的大小 -128~127 一个字节的大小;
  7. String池:Java为了优化字符串操作 提供了一个缓冲池;

二、示例

 

 

public static void main(String[] args)
{
	Integer i1 = 127;
	Integer i2 = 127;
	System.out.println(i1 == i2);//true

	Integer i3 = 128;
	Integer i4 = 128;
	System.out.println(i3 == i4);//false
}

 

  1. 上述例子中对127的处理用到了享元模式(英语:Flyweight Pattern)是一种软件设计模式。
  2. 它使用共享物件,用来尽可能减少内存使用量以及分享资讯给尽可能多的相似物件;
  3. 它适合用于当大量物件只是重复因而导致无法令人接受的使用大量内存。
  4. 通常物件中的部分状态是可以分享。
  5. 常见做法是把它们放在外部数据结构,当需要使用时再将它们传递给享元

 

分享到:
评论

相关推荐

    Java中的自动装箱与拆箱:深入理解基本数据类型与对象的转换

    对于基本数据类型与包装类之间的转换,Java提供了一个非常便利的功能——自动装箱和自动拆箱。这些功能极大地简化了编程流程,使代码更加简洁易读。 #### 基本数据类型与包装类 在Java中,**基本数据类型**是指...

    c#数值类型,转换和装箱拆箱

    为了深入理解这些知识点,阅读提供的"数据类型_4_值类型、引用类型、装箱和拆箱.pdf"和"数据类型_5_类型转换.pdf"文档将非常有帮助,它们会详细讲解这些主题,并提供实例说明,帮助你巩固理论知识并将其应用到实践中...

    java自动装箱拆箱深入剖析

    Java中的自动装箱和拆箱是自J2SE 5.0版本引入的特性,它极大地简化了基本数据类型与其对应的包装类之间的转换过程。基本数据类型包括int、double、boolean等,而包装类如Integer、Double和Boolean分别对应这些基本...

    JAVA装箱拆箱(很详细、易于理解)

    从Java 5开始,引入了自动装箱和拆箱特性,使得基础数据类型和其包装器类之间的转换更加方便。例如: ```java Integer y = 567; // 自动装箱 y++; // 自动拆箱,自增,再自动装箱 System.out.println("y = " + y); ...

    《深入理解java虚拟机》自动装箱拆箱实例.doc

    在Java中,自动装箱是指将基本数据类型自动转换为对应的包装类对象的过程,而自动拆箱则是指将包装类对象自动转换为基本数据类型的逆过程。这一特性自Java 5起引入,极大地简化了开发者的编程工作。 #### 基本数据...

    Java中的自动装箱与拆箱Java开发Java经验技巧共6

    在Java编程语言中,自动装箱(Autoboxing)和自动拆箱(Unboxing)是两个重要的特性,它们简化了基本类型(如int、double等)与对应的包装类(如Integer、Double等)之间的转换过程。这些特性是在Java 5引入的,极大...

    Java中的自动装箱和拆箱是什么?它们有什么作用?(java面试题附答案).txt

    **自动装箱**指的是将基本数据类型自动转换为对应的包装类对象的过程。例如,将`int`类型转换为`Integer`对象。这一过程在后台由Java编译器完成,无需开发者显式调用`Integer.valueOf()`方法。 **自动拆箱**则是...

    装箱与拆箱(一)

    例如,当你使用泛型列表(List)并传入值类型时,如果T是值类型,那么在添加元素时,会自动对这些值类型进行装箱。同样,当你从列表中取出元素时,会进行拆箱。为了优化这种情况,C#引入了泛型约束,如where T : ...

    java编程中自动拆箱与自动装箱详解

    自动装箱是指将基本数据类型转换为包装器类型,而自动拆箱是指将包装器类型转换为基本数据类型。自动装箱和自动拆箱是相互对应的过程,都是Java编程中数据类型转换的过程。 4. 自动装箱与自动拆箱的应用场景 自动...

    Java中自动装箱、拆箱引起的耗时详解

    Java中自动装箱和拆箱是Java语言中一个重要的特性,它可以将基本数据类型和它们的包装类之间进行转换,这个过程是透明的,程序员不需要手动进行转换。但是,这个过程会引起一些耗时问题,本文将详细介绍Java中自动...

    详解Java包装类及自动装箱拆箱

    Java 在 SE5 之后提供了自动的装箱和拆箱机制,基本数据类型可以和与其对应的包装类之间自动进行转换。装箱过程是通过调用包装器的 valueOf 方法实现的,而拆箱过程是通过调用包装器的 xxxValue 方法实现的。 例如...

    Java软件开发实战 Java基础与案例开发详解 8-3 装箱和拆箱 共4页.pdf

    装箱和拆箱就是Java提供的一种自动转换机制,用于在基本数据类型和其对应的包装类之间进行转换。 #### 二、包装类的概念 **包装类**是为了实现面向对象编程中的“一切皆对象”思想而存在的。在Java中,每种基本...

    深入剖析Java中的装箱和拆箱

    自动装箱和拆箱问题是Java中一个老生常谈的问题了,我们来一些看一下装箱和拆箱中的若干问题。本文先讲述装箱和拆箱基本的东西,再来看一下面试笔试中经常遇到的与装箱、拆箱相关的问题。  以下是本文的目录大纲:...

    Tedu正则表达式与Object与自动装箱与拆箱

    在 Java 5 中引入了自动装箱与拆箱的功能,使得开发者在使用基本类型和它们对应的包装类之间更加灵活。 **示例**: ```java // 自动装箱 int num = 10; Integer numObj = num; // numObj 是 Integer 对象 // 自动...

    Java语言 包装类讲解案例代码 ( 设计目的(作用)和用途、自动装箱与拆箱、常用方法、 null和默认值)

    自动装箱与拆箱:自动装箱(Autoboxing)指的是自动地将基本数据类型转换为对应的包装类对象;自动拆箱(Unboxing)则是将包装类对象自动转换为基本数据类型。 常用方法:演示如何使用包装类中的这些常见方法。 null...

    C#源代码-装箱和拆箱.zip

    在.NET框架中,C#是一种面向对象的编程语言,它提供了装箱和拆箱的概念来处理值类型与引用类型之间的转换。本压缩包文件“C#源代码-装箱和拆箱.zip”显然包含了关于这一主题的源代码示例,这对于我们深入理解这两种...

    深入理解Java中的装箱和拆箱

    装箱是指将基本数据类型自动转换为包装器类型的过程,而拆箱则是指将包装器类型自动转换为基本数据类型的过程。 二、装箱和拆箱是如何实现的? 装箱和拆箱是通过调用包装器的valueOf方法和xxxValue方法实现的。...

    Java 装箱与拆箱详解及实例代码

    这是Java 5引入的自动装箱特性,旨在简化代码,提高开发效率。当我们将一个基本类型赋值给一个包装类的引用时,Java会自动执行装箱操作。例如: ```java Integer a = 100; // 自动装箱,编译器调用Integer.valueOf...

Global site tag (gtag.js) - Google Analytics