java5引入包装类型的意义_Java中的基本类型和包装类
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中的基本类型和包装类相关推荐
- java包装器类_Java中的基本类型和包装类
Java中基本数据类型与包装类型有 基本类型 包装器类型 boolean Boolean char Character int Integer byte Byte short Short long L ...
- java 基本类型 引用类型_Java中的基本类型和引用类型变量的区别
基本类型: 基本类型自然不用说了,它的值就是一个数字,一个字符或一个布尔值. 引用类型: 是一个对象类型,值是什么呢?它的值是指向内存空间的引用,就是地址,所指向的内存中保存着变量所表示的一个值或一组 ...
- java包装类和基本类型谁先谁后_你知道Java中基本类型和包装类的区别吗
前情提要 上一篇中,通过一道常见的面试题(即:String.StringBuilder.StringBuffer的区别),引申到Java中基本类型和包装类的相关内容.在这一篇中,我们将解决上一篇中引申 ...
- java包装类和基本类型_你知道Java中基本类型和包装类的区别吗
前情提要 上一篇中,通过一道常见的面试题(即:String.StringBuilder.StringBuffer的区别),引申到Java中基本类型和包装类的相关内容.在这一篇中,我们将解决上一篇中引申 ...
- 对象在内存中的存储基本类型和包装类java类型转换
对象在内存中的存储 对象头.实例数据和填充数据(为了对齐) 实例变量:存放类的属性数据信息,包括父类的属性信息,如果是数组的实例部分还包括数组的长度,这部分内存按4字节对齐. 填充数据:由于虚拟机要求 ...
- byte 类型比较_基本类型和包装类对象使用 == 和 equals进行比较的结果?
1.值不同,使用==和equals比较都返回false 2.值相同,使用==比较:基本类型-基本类型.基本类型-包装对象返回true 包装对象-包装对象返回false 缓存中去的包装对象比较返回tru ...
- java 基本类型 包装类型_Java中基本类型和包装类
基本类型运算 boolean类型数据可以进行逻辑运算(&&,||,!),其他的基本类型都可以进行数值计算(+,-,*,/).逻辑运算比较简单易懂,完全与逻辑数学的规则一致,而数值运算涉 ...
- java原始类型和引用类型_Java中的8种原始类型
java原始类型和引用类型 几年前,当我开始编辑Java Basics系列时,我认为将一些非常详细的信息拉到自己的帖子中是很有意义的. 这样,初学者的内容就更容易消化了. 首先,我将介绍有关Java的 ...
- java 继承 意义_Java中继承,类的高级概念的知识点
1.继承含义 在面向对象编程中,可以通过扩展一个已有的类,并继承该类的属性和行为,来创建一个新的类,这种方式称为继承(inheritance). 2.继承的优点 A.代码的可重用性 B.子类可以扩展父 ...
最新文章
- 2019年公务员计算机(大类)类,2019年中国证监会参照公务员法管理专业科目考试大纲 (计算机类)...
- Savior:渗透测试报告自动生成工具
- 小技巧:让linux程序在后台运行
- MySQL分页查询小技巧
- 天天在用Redis,那你对Redis的AOF持久化到底了解多少呢?
- Python使用tensorflow中梯度下降算法求解变量最优值
- 谈谈未来简书首页拒稿界面的设计思路
- SegmentFault D-Day 2016 年度总结报告
- 验证iaas的sql服务器出现error configuring vRealize automation server
- 基于FOC矢量算法的MTPA控制在变频洗衣机上的应用
- 行测题数字推理技巧总结(简单精辟)
- html图片垂直居中的方法,CSS图片垂直居中实现方法详解
- 脸书隐藏了未能阻止滥用技术的官僚主义报道的失败
- matlab潮汐观测数据,潮汐观测方法有哪些?
- 拯救全网的Chatgpt解封攻略(盗版必究)
- vue使用vue-video-player播放视频及遇到的问题
- 星加坡php开发_新加坡互联网Offer求建议 - 找工作啦(Job)版 - 北大未名BBS
- 什么浏览器有html控制台,HTML标记突破出现在浏览器br,也可作为br,开发者控制台...
- Java基础 —— 编程入门
- MySQL中like查询是否会使用索引