包装类型与引用类型的使用场景
在java中有八种基本数据类型对应每种基本类型又有八种包装类型:
基本类型:boolean, char, int, byte,short,long, float,double
包装器类型:Boolean,Character,Integer,Byte,Short,Long,Float,Double
从上面我们可以看到除了 char和int其它的包装类型名称和对应的基本类型一样只是首字母大写了。
在某些场合不能使用基本类型必须使用包装类,比如集合能接收的类型为Object,基本类型是无法添加进去的,还有泛型也必须使用包装类。
另外假设我们要定义一个变量表示分数 如果用基本类型表示的话:int score;
默认值为零,如果我想表示分数为空也就是没有参加考试就没法表现了因为值类型是无法赋空值的,如果使用包装类型Integer score,就可以表示这种情况,因为Integer的默认值为空。
包装类型是引用类型,说白了就是一个类,既然是类,里面可以有属性和方法,它里面有哪些属性和方法呢?每个包装类型和基本数据类型都是大同小异的,我们拿Integer 和 int来举例说明:
假设有这样一个场景,我接收到一个String型的数据想把它转换为整型,如果没有包装类这个操作是无法完成的,有了包装类我们可以这样做:
String num1 = "123";
int num2 = Integer.parseInt(num1);
parseInt就是Integer包装类提供的一个将字符串转成int型的方法。
为什么会有包装类?
1.包装类里面有一些很有用的方法和属性,如HashCode,ParseInt
2.基本类型不能赋null值,某些场合需要。
3.有些地方不能直接用基本类型,比如集合.
什么时候用包装类,什么时候用基本类型?
1.在pojo类中定义的属性用包装类
2.在rpc方法中定义参数和返回值的类型用包装类
3.定义局部变量用基本类型
包装类型与引用类型的使用场景相关推荐
- 【JavaScript】9.基本引用类型-原始值包装类型
本篇笔记示例代码仓库:https://github.com/zhangtuo1999/study-js . 本篇笔记遵循中文技术文档的写作规范. 主要内容来源于<JavaScript高级程序设计 ...
- java基本类型的包装类型_有了基本数据类型,为什么还需要包装类型
在java中有八种基本数据类型对应每种基本类型又有八种包装类型: 基本类型:boolean, char, int, byte,short,long, float,double 包装器类型:Boolea ...
- java基本类型和包装类型
java是面向对象的语言为什么还要有基本类型,只有包装类型完全面向对象不行吗? java语言可以只有基本类型吗,为什么还有要包装类型? java中的基本类型和包装类型: 基本类型 包装器类 ...
- 包装类型之间一律使用equals来判断值是否相等
包装类型是引用类型,所以使用==是不能比较包装类型对象包含的值是否相等,==只是比较两个引用变量是否指向相同的对象. 由于在jdk1.5之后,支持自动装箱功能,对于Integer会出现下面这种情况: ...
- JS引用类型(6)——基本包装类型1
[6]基本包装类型 3个特殊的引用类型:Boolean.Number.String. 每当读取一个基本类型值的时候,后台就会创建一个对应的基本包装类型的对象,从而让我们能够调用一些方法来操作这些数据. ...
- 《JavaScript高级程序设计(第四版)》红宝书学习笔记(第五章:基本引用类型,原始值包装类型,单例内置对象)
第五章:基本引用类型 引用值(或者对象)是某个特定引用类型的实例.新对象通过使用new操作符后跟一个构造函数(constructor)来创建. 5.1 Date 这里不对Date进行详细深入,仅基于书 ...
- 《JavaScript高级程序设计》五、引用类型(基本包装类型)
<JavaScript高级程序设计>五.引用类型(基本包装类型) 目录: Boolean类型 Number类型 String类型 字符方法 字符位置方法 字符操作方法 字符大小转换方法 字 ...
- 13.包装类型应用及场景
包装类型应用及场景 1.包装类型 Java中提供了8种基本数据类型以及对应的8中包装类型.Java是一种面向对象编程的高级语言,所以包装类型正是为了解决基本数据类型无法面向对象编程所提供的. 基本数据 ...
- 内置对象的API Array数组对象 String字符串对象 json字符串 JSON对象 js作用域及变量预解析 引用类型与值类型区别 共享引用 基本包装类型 数组去重
01-内置对象的API a.Date对象获取时间 b.Array对象数组加工 c.String对象字符串加工 d.json字符串的语法格式 e.JSON对象的字符串与对象转换应用 02-JS作用域 a ...
最新文章
- 如何查看matlab的启动参数,如何使用多个参数在Matlab中执行“查找”?
- python count()计算字符出现的频数
- hud 5929.Basic Data Structure
- iOS 如何写出更加严谨的应用
- JZOJ 5264. 【NOIP2017模拟8.12A组】化学
- 汽车销售网页html模板,汽车经销商HTML模板
- 有关试用Silverlight OOB模式遇到的一些问题
- 也谈政府机关服务器资源的有效利用
- 解决json日期格式问题的3种方法
- 点对点信道互连以太网实验_轩辕实验室┃SOTIF:汽车以太网容错能力测试(1)...
- 【elasticsearch】安装合集
- 机器学习——BP神经网络
- OpenCV Mat::ones()用法及注意事项
- app逆向工程之apk回编译安装之后背景音乐出不来
- python终端小游戏_我用Python玩小游戏“跳一跳”,瞬间称霸了朋友圈!
- Java不同字符使用下划线分隔_004_Java语言基础(a-变量)
- rimraf node_modules 删除报错 rimraf : 无法加载文件
- Python自然语言处理:文档相似度计算(gensim.models)
- python爬虫找漫画出现断章?那你就得看这篇爬虫思想教学咯!
- LM小型可编程控制器软件(基于CoDeSys)笔记二十六:plc的数据存储区(模拟量输入通道部分)