Java中基本数据类型与包装类型有

基本类型

包装器类型

boolean

Boolean

char

Character

int

Integer

byte

Byte

short

Short

long

Long

float

Float

double

Double

存在基本类型对应包装类的原因:

基本数据类型存方在栈中,效率更高

new出来的对象存在于堆中(通过栈中的引用来使用这些对象),是一个对象,因此具有更多的诸如“转换”的方法

包装类型的意义

Java是一个面相对象的编程语言,基本类型并不具有对象的性质,为了让基本类型也具有对象的特征,就出现了包装类型(如我们在使用集合类型Collection时就一定要使用包装类型而非基本类型),它相当于将基本类型“包装起来”,使得它具有了对象的性质,并且为其添加了属性和方法,丰富了基本类型的操作。

另外,当需要往ArrayList,HashMap中放东西时,像int,double这种基本类型是放不进去的,因为容器都是装object的,这是就需要这些基本类型的包装器类了。

基本类型和包装类转换:

以int和Integer为例(Java5前):

1.int转Integer

int i = 0;

Integer ii= new Integer(i);

2.Integer转int

Integer ii = new Integer(0);int i = ii.intValue();

基本类型和包装类的区别:

1. 声明方式不同:

基本类型不使用new关键字,而包装类型需要使用new关键字来在堆中分配存储空间;

2. 存储方式及位置不同:

基本类型是直接将变量值存储在栈中,而包装类型是将对象放在堆中,然后通过引用来使用;

3. 初始值不同:

基本类型的初始值如int为0,boolean为false,而包装类型的初始值为null;‘

4. 使用方式不同:

基本类型直接赋值直接使用就好,而包装类型在集合如Collection、Map时会使用到。

自动装箱和拆箱

在Java SE5之前,如果要生成一个数值为10的Integer对象,必须这样进行:

Integer i = new Integer(10);

而在从Java SE5开始就提供了自动装箱的特性,如果要生成一个数值为10的Integer对象,只需要这样就可以了:

Integer i = 10;

这个过程中会自动根据数值创建对应的 Integer对象,这就是装箱。

那什么是拆箱呢?顾名思义,跟装箱对应,就是自动将包装器类型转换为基本数据类型:

Integer i = 10; //装箱

int n = i; //拆箱

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

java5引入包装类型的意义_Java中的基本类型和包装类相关推荐

  1. java包装器类_Java中的基本类型和包装类

    Java中基本数据类型与包装类型有 基本类型 包装器类型 boolean Boolean char Character int Integer byte Byte short Short long L ...

  2. java 基本类型 引用类型_Java中的基本类型和引用类型变量的区别

    基本类型: 基本类型自然不用说了,它的值就是一个数字,一个字符或一个布尔值. 引用类型: 是一个对象类型,值是什么呢?它的值是指向内存空间的引用,就是地址,所指向的内存中保存着变量所表示的一个值或一组 ...

  3. java包装类和基本类型谁先谁后_你知道Java中基本类型和包装类的区别吗

    前情提要 上一篇中,通过一道常见的面试题(即:String.StringBuilder.StringBuffer的区别),引申到Java中基本类型和包装类的相关内容.在这一篇中,我们将解决上一篇中引申 ...

  4. java包装类和基本类型_你知道Java中基本类型和包装类的区别吗

    前情提要 上一篇中,通过一道常见的面试题(即:String.StringBuilder.StringBuffer的区别),引申到Java中基本类型和包装类的相关内容.在这一篇中,我们将解决上一篇中引申 ...

  5. 对象在内存中的存储基本类型和包装类java类型转换

    对象在内存中的存储 对象头.实例数据和填充数据(为了对齐) 实例变量:存放类的属性数据信息,包括父类的属性信息,如果是数组的实例部分还包括数组的长度,这部分内存按4字节对齐. 填充数据:由于虚拟机要求 ...

  6. byte 类型比较_基本类型和包装类对象使用 == 和 equals进行比较的结果?

    1.值不同,使用==和equals比较都返回false 2.值相同,使用==比较:基本类型-基本类型.基本类型-包装对象返回true 包装对象-包装对象返回false 缓存中去的包装对象比较返回tru ...

  7. java 基本类型 包装类型_Java中基本类型和包装类

    基本类型运算 boolean类型数据可以进行逻辑运算(&&,||,!),其他的基本类型都可以进行数值计算(+,-,*,/).逻辑运算比较简单易懂,完全与逻辑数学的规则一致,而数值运算涉 ...

  8. java原始类型和引用类型_Java中的8种原始类型

    java原始类型和引用类型 几年前,当我开始编辑Java Basics系列时,我认为将一些非常详细的信息拉到自己的帖子中是很有意义的. 这样,初学者的内容就更容易消化了. 首先,我将介绍有关Java的 ...

  9. java 继承 意义_Java中继承,类的高级概念的知识点

    1.继承含义 在面向对象编程中,可以通过扩展一个已有的类,并继承该类的属性和行为,来创建一个新的类,这种方式称为继承(inheritance). 2.继承的优点 A.代码的可重用性 B.子类可以扩展父 ...

最新文章

  1. 2019年公务员计算机(大类)类,2019年中国证监会参照公务员法管理专业科目考试大纲 (计算机类)...
  2. Savior:渗透测试报告自动生成工具
  3. 小技巧:让linux程序在后台运行
  4. MySQL分页查询小技巧
  5. 天天在用Redis,那你对Redis的AOF持久化到底了解多少呢?
  6. Python使用tensorflow中梯度下降算法求解变量最优值
  7. 谈谈未来简书首页拒稿界面的设计思路
  8. SegmentFault D-Day 2016 年度总结报告
  9. 验证iaas的sql服务器出现error configuring vRealize automation server
  10. 基于FOC矢量算法的MTPA控制在变频洗衣机上的应用
  11. 行测题数字推理技巧总结(简单精辟)
  12. html图片垂直居中的方法,CSS图片垂直居中实现方法详解
  13. 脸书隐藏了未能阻止滥用技术的官僚主义报道的失败
  14. matlab潮汐观测数据,潮汐观测方法有哪些?
  15. 拯救全网的Chatgpt解封攻略(盗版必究)
  16. vue使用vue-video-player播放视频及遇到的问题
  17. 星加坡php开发_新加坡互联网Offer求建议 - 找工作啦(Job)版 - 北大未名BBS
  18. 什么浏览器有html控制台,HTML标记突破出现在浏览器br,也可作为br,开发者控制台...
  19. Java基础 —— 编程入门
  20. MySQL中like查询是否会使用索引

热门文章

  1. 图片管理之保存图片数据
  2. 爬虫之数据提取响应内容的分类
  3. 网络空间安全Windows系统命令行学习笔记
  4. AOI检测基本原理与设备构成
  5. 使用Aspose.Pdf for .NET实现PDF文档到Excel、EPS、SVG等的转换
  6. 电子邮件的故事:令人吃惊的预测
  7. HDU_2112 HDU Today(DIjkstra + map映射)
  8. JAVA匿名内部类的一点讨论
  9. 利用反射自己写的一个ModelHelper类
  10. FVF的D3DFVF_XYZ和D3DFVF_XYZRHW的区别