`

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自动装箱拆箱深入剖析

    基本数据(Primitive)类型的自动装箱(autoboxing)、拆箱(unboxing)是自J2SE 5.0开始提供的功能。java语言规范中说道:在许多情况下包装与解包装是由编译器自行完成的(在这种情况下包装成为装箱,解包装称为拆箱)

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

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

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

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

    Java包装类详解.pptx.pptx

    包装类的定义 包装类是Java提供的一种特殊类,它...包装类提供了自动装箱和拆箱的功能,可以将基本数据类型自动转换为对应的包装类对象,也可以将包装类对象自动转换为基本数据类型。这大大提高了代码的简洁性和效率。

    阿里2017年Java学科面试测试题

    但是为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类型都引入了对应的包装类型(wrapper class),int的包装类就是Integer,从Java 5开始引入了自动装箱/拆箱机制,使得二者可以相互转换。...

    Java企业面试问题2.txt

    型叫做装箱,从封装类型到基本数据类型叫拆箱,自动拆装箱是jdk5.0提供的新特特性 2.3当我们要调用的方法中存在重载的时候,即基本类型数据作为唯一参数的方法与 该基本类型包装类作为唯一参数的方法重载,这时候...

    基于数据类型转换(装箱与拆箱)与常量详解

    隐式转换[自动类型转换]: 两种类型要兼容,原类型值域要小于目标类型值域,可以简单的理解为由小转大。 public class Test { private void Start() { int a = 10; float b = a;//int 类型隐式转换为 float ...

    张孝祥Java基础加强ppt.ppt

    eclipse的使用技巧 静态导入 可变参数与for循环增强 基本数据类型的自动拆箱与装箱 枚举 反射 JavaBean内省 beanutils工具包 注解 泛型 类加载器 代理 线程并发库

    cai-yuxiang#-#基本数据类型以及包装类1

    1.实现int和integer之间的转换 2.Integer的常用方法 3.自动装箱和自动拆箱 4.数值的比较

    张孝祥Java基础加强教学课件PPT

    教学大纲: eclipse的使用技巧 静态导入 可变参数与for循环增强 基本数据类型的自动拆箱与装箱 枚举 反射 JavaBean内省 beanutils工具包 注解 泛型 类加载器 代理 线程并发库

    Java基础教程之基本类型数据类型、包装类及自动拆装箱

    主要给大家介绍了关于Java基础教程之基本类型数据类型、包装类及自动拆装箱的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

    死磕Java之Java数据类型的来龙去脉

    (二)基本数据类型与包装类的对应关系(三)包装类的自动拆箱与装箱(四)包装类总结 一、数据类型分类 数据类型可以分为基本数据类型(8个)和引用数据类型(3个)。 具体可以参考如下图所示: 二、基本数据类型 ...

    Java经典面试题.pdf

    自动装箱是指将基本数据类型转换为对应的包装类对象,以便于在需要使用对象的地方进行操作。例如,将int类型的数据自动转换为Integer对象。 自动拆箱是指将包装类对象转换为对应的基本数据类型。例如,将Integer对象...

    Java笔记(9)类型转换与包装类

    对Java对象的强制类型转换称为造型==操作符与equals方法==:equals():String对象的创建代码练习题包装类(Wrapper)基本数据类型包装成包装类的实例–装箱获得包装类对象中包装的基本类型变量 —拆箱字符串转换为...

    java基础常识与概念

    基础概念与常识 Java 语言有哪些特点? JVM vs JDK vs JRE JVM JDK 和 JRE 什么是字节码?采用字节码的好处是什么? 为什么说 Java 语言“编译与解释并存”?...Oracle JDK vs OpenJDK ...自动装箱与拆箱了解吗?原理是什么?

    java基础加强ppt(张孝祥版_黎活明版)

    java基础加强ppt(张孝祥版_黎活明版)eclipse的使用技巧、静态导入、可变参数与for循环增强、基本数据类型的自动拆箱与装箱、枚举、反射、JavaBean内省、beanutils工具包、注解、泛型、类加载器、代理、线程并发库

    深入C#数据类型12个案例源码.zip

    示例1:实现经理问好 示例2:自动属性 示例3:生成类图 示例4:使用Visio绘制PM类图 示例5:使用OOP实现计算器 ...示例9:拆箱和装箱 示例10:投票增加人气值 示例11:使用结构投票增加人气值 示例12:完善DBHelper

    Java面试技术面知识扩展包第一弹

    也可能会涉及Java的特性,如自动装箱拆箱、泛型、Lambda表达式等。 2. 面向对象编程(OOP):面试官可能会询问您关于面向对象编程的概念和原则,如封装、继承、多态、抽象类、接口等,并要求您应用这些概念解决问题...

    以下是一些常见的JAVA面试题

    7. 解释一下JAVA中的基本数据类型和引用类型的区别和使用。 8. 解释一下JAVA中的自动装箱和拆箱机制。 9. 解释一下JAVA中的反射机制,包括Class、Method、Field等类的使用。 10. 解释一下JAVA中的MVC模式,以及它在...

    Java面试经典题,对JAVA面试很有帮助

    3.八种基本数据类型的大小,以及他们的封装类 4.标识符的命名规则 5.instanceof 关键字的作用 6.Java自动装箱与拆箱 7.重载和重写的区别 8.equals与==的区别 9.Hashcode的作用 10.String、String StringBuffer 和 ...

Global site tag (gtag.js) - Google Analytics