Java语言学习总结 扩展篇 包装类的概念及其使用
包装类
包装类的概述
Java提供了两个类型系统,基本类型与引用类型,使用基本类型在于效率,然而很多情况,会创建对象使用,因为
对象可以做更多的功能,如果想要我们的基本类型像对象一样操作,就可以使用基本类型对应的包装类,如下:

包装类:
基本数据类型,使用起来非常方便,但是没有对应的方法来操作这些基本类型的数据
可以使用一个类把基本类型的数据装起来,在类中定义一些方法,这 个类叫做包装类
我们可以使用类中的方法来操作这些基本类型的数据
装箱和拆箱
基本类型与对应的包装类对象之间,来回转换的过程称为”装箱“与”拆箱" :
●装箱: 从基本类型转换为对应的包装类对象。
●拆箱: 从包装类对象转换为对应的基本类型。
用Integer与int为例: ( 看懂代码即可)
装箱:
把基本类型的数据,包装到包装类中(基本类型的数据- >包装类)
构造方法:
Integer(int volue) 构造一一个新分配的Integer 对象,它表示指定的int 值。
Integer(String s)构造一-个新分配的Integer 对象,它表示String 参数所指示的int值。
传递的字符串,必须是基本类型的字符串,否则会抛出异常“100” 正确"a” 抛异常
静态方法:
static Integer value0f(int i) 返回一个表示指定的int 值的Integer 实例
static Integer value0f(String S)返回保存指定的String 的值的Integer 对象。
拆箱:在包装类中取出基本类型的数据(包装类- >基本类型的数据)
成员方法:
int intValue() 以int类型返回该Integer 的值。
示例代码:
//装箱 :把基本类型的数据,包装到包装类中(基本类型的数据->包装类)
//构造方法
Integer in1 = new Integer(1);//方法上有横线,说明方法过时了
System.out.println(in1);//1重写了tostring方法
Integer in2 = new Integer("1");
System.out.println(in2);//1
//静态方法
Integer in3 = Integer.valueOf(1);
System.out.println(in3);
//Integer in4 - Integer. value0f( "a ");//NumberFormatException数字格式化异常
Integer in4 = Integer.valueOf("1" );
System.out.println(in4);
//拆箱: 在包装类中取出基本数据类型的数据(包装类->基本类型的数据)
int i = in1.intValue();
System.out.println(i);
自动装箱与自动拆箱:
自动装箱与自动拆箱:基本类型的数据和包装类之间可以自动的相互转换
JDK1.5之后出现的新特性
/*
自动装箱:直接把int类型的整数赋值包装类
Integer in = 1;就相当于Integer in = new Integer(1);
*/
Integer in = 1;
/*
自动拆箱: in是包装类,无法直接参与运算,可以自动转换为基本数据类型,在进行计算
in+2;就相当于in. intVale() + 2 = 3
in=in.intVale() + 2 = 3又是一个自动装箱
*/
in=in+2;
ArrayList<Integer> list = new ArrayList<>();
/*
ArrayList集合无法直接存储整数,可以存储Integer包装类
*/
list.add(1); //-->自动装箱] list.add(new Integer(1)); !
int a = list.get(0); //-->自动拆箱list. get(0). intValue();
Java语言学习总结 扩展篇 包装类的概念及其使用的更多相关文章
- Java语言学习总结 扩展篇 DateFormat类
DateFormat类 java.text .DateFormat 是 日期/时间格式化子类的抽象类,我们通过这个类可以帮我们完成日期和文本之间的转换:也就是可以在Date对象与String对象之间进 ...
- Java工程师学习指南 完结篇
Java工程师学习指南 完结篇 先声明一点,文章里面不会详细到每一步怎么操作,只会提供大致的思路和方向,给大家以启发,如果真的要一步一步指导操作的话,那至少需要一本书的厚度啦. 因为笔者还只是一名在校 ...
- Java工程师学习指南 入门篇
Java工程师学习指南 入门篇 最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好.原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我之前写的文章都 ...
- Java工程师学习指南 中级篇
Java工程师学习指南 中级篇 最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好.原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我写的文章都是站 ...
- Java工程师学习指南 初级篇
Java工程师学习指南 初级篇 最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好.原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我之前写的文章都 ...
- Java语言学习day02--6月29日
Java语言学习day02###01常用的DOS命令 * A: 常用的DOS命令 * a: 打开Dos控制台 * win+r--cmd--回车 * b: 常用dos命令 * cd.. : 退回到上一级 ...
- R语言学习 第四篇:函数和流程控制
变量用于临时存储数据,而函数用于操作数据,实现代码的重复使用.在R中,函数只是另一种数据类型的变量,可以被分配,操作,甚至把函数作为参数传递给其他函数.分支控制和循环控制,和通用编程语言的风格很相似, ...
- Java语言学习day01--6月28日
Java语言学习day01一:Java概述 1.Java语言发展史 任职于太阳微系统的 詹姆斯·高斯林 等人于1990年代初开发Java语言的雏形,最初被命名为 Oak ,目标设置在 家用电器等小型系 ...
- java语言学习笔记1
最近也在春节的节假日里,总是会有各种各样的事情出现,没有很完整的时间来学习java以及其他方面的知识. 从昨天开始有了完整的学习体系,我去娄老师推荐的极客学院网站开始学习java语言的语法.在假期之初 ...
随机推荐
- Python 基础之函数的嵌套与nonlocal修改局部变量及闭包函数
一.函数的嵌套 嵌套在外层,称之为外函数 嵌套在里层,称之为内函数#例:def outer(): def inner(): print("I'm inner") ...
- Hive的存储和MapReduce处理——数据清洗(Part2)
日期:2019.11.14 博客期:116 星期四 基本的处理类 import java.sql.Connection; import java.sql.DriverManager; import j ...
- list.OfType()
将两个类型不同是实体存入到一个object可以通过OfType方法分别取出来 //将两个类型不同是实体存入到一个object可以通过OfType方法分别取出来 List<Phone> Ph ...
- 基于IntelliJ IDEA的代码评审插件 Code Review Plugin
一.阿里规范公约 1.左上角 File -> Settings -> Plugins -> 搜索:Alibaba Java Coding Guidelines,安装插件并重启IDEA ...
- java并发初探CountDownLatch
java并发初探CountDownLatch CountDownLatch是同步工具类能够允许一个或者多个线程等待直到其他线程完成操作. 当前前程A调用CountDownLatch的await方法进入 ...
- Kubernetes——机密数据管理
k8s——机密数据管理1.secret2.configMap kubectl explain secret #查看帮助手册然后将你要加密的变量值做些许处理:echo 123 | base64 ...
- 6、mysql事务
1.mysql事务 —mysql中,事务其实是一个最小的不可分割的工作单元.事务能够保证一个业务的完整性,例如:银行存款: a - > -100 >update user set ...
- JavaScript(3)---事件冒泡、事件捕获
JavaScript(3)---事件冒泡与事件捕获 一.理解冒泡与捕获 假设有这么一段代码 <body> <div><p>标签</p> </div ...
- 侧边栏下拉时箭头的旋转动画(treeView控件)
//点击菜单时箭头旋转 let treeView = document.getElementsByClassName("treeview");//let解决闭包问题 let las ...
- C++ 动态多态
背景 以前的学习,只是简单地知道:面向对象的三大特性(封装.继承.多态) ,在项目开发中,用到了多态而自己却不知道. 多态(Polymorphism)按字面的意思就是"多种状态". ...