Java 自动装箱与拆箱(Autoboxing and unboxing)

主讲教师:王少华 QQ群:483773664

学习目标:

掌握Java 基本数据对应的包装类

掌握Java 自动装箱与拆箱

一、基本数据类型对应的包装类

Java为每一种基本数据类型都提供了一个包装类,而这些包装类就在java.lang包中。Java共有8个包装类。如下图所示:

包装所有数字类型类都继承自Number类,Number类是一个抽象类。

二、什么是自动装箱拆箱

基本数据类型的自动装箱(autoboxing)、拆箱(unboxing)是自J2SE 5.0开始提供的功能。

一般我们要创建一个类的对象实例的时候,我们会这样:

当我们创建一个Integer对象时,却可以这样:

实际上,执行上面那句代码的时候,系统为我们执行了:Integer i = Integer.valueOf(100);此即基本数据类型的自动装箱功能

从上面的代码中,大家可看出integer100为一个Integer类型的引用,int100为一个int类型的原始数据类型。但是,我们可以将一个Integer类型的对象赋值给其相应原始数据类型的变量。这便是拆箱。

拆箱与装箱是相反的操作。装箱是将一个原始数据类型赋值给相应封装类的变量。而拆箱则是将一个封装类的变量赋值给相应原始数据类型的变量。

三、基本数据类型与包装类的差别

基本数据类型不是对象,也就是使用int、double、boolean等定义的变量、常量。基本数据类型没有可调用的方法。

包装类是对象,后面就有很多方法可让你调用了

比如方法:字符串转基本数据类型

方法:public static type parseType(String type)

其他方法大家可以去API查看

四、面试题

Java自动拆装箱面试_跟王老师学泛型(二):Java自动装箱与拆箱相关推荐

  1. mysql数据类型为小数_跟王老师学MySQL:MySQL数据类型之小数类型

    跟王老师学MySQL:MySQL数据类型之小数类型 主讲教师:王少华   QQ群号:483773664 学习内容 小数类型有哪些以及它们的取值范围 定义语法中的M和D的含义 定点型和浮点型的区别 一. ...

  2. 解读java面试_解读王垠博客“一道 Java 面试题”

    偶然拜读IT界知名大佬王垠老师的博客,发现一个有意思的题目: 1 //这段代码里面到底哪一行错了?为什么?2 //原文:http://www.yinwang.org/blog-cn/2020/02/1 ...

  3. java 写文件 权限不够_教你解决Linux系统中JAVA创建文件后权限不足的问题

    在作业中,项目使用文件上传. 这个功能很常见. 当Kai Ge今天更改其官方帐户时,他遇到了一个问题,即无法访问下载的文件,也无法通过浏览器访问该文件. 它是怎么发生的? 经过许多问题之后,事实证明这 ...

  4. 2021-06-19复习java Collection集合 Iterator接口_迭代器 增强for循环 泛型

    2021-06-19复习java Collection集合 Iterator接口_迭代器 增强for循环 泛型 Collection集合 java.util.coLlection接口 所有单列集合的最 ...

  5. java高级软件工程师面试_高级软件工程师的新面试问题

    java高级软件工程师面试 I'm putting together some practice interview questions for a friend who lost his job. ...

  6. java 内存溢出时打印_如何在JVM内存溢出的时候自动dump内存快照

    解决OOM问题的一个初步思路 首先第一个问题,假设发生OOM了,必然说明系统中某个区域的对象太多了,塞满了那个区域,而且一定是无法回收掉那些对象,最终才会导致内存溢出的. 既然是这个思路,要解决OOM ...

  7. java技术全掌握了_你必须掌握的 21 个 Java 核心技术!

    写这篇文章的目的是想总结一下自己这么多年来使用java的一些心得体会,希望可以给大家一些经验,能让大家更好学习和使用Java. 这次介绍的主要内容是和J2SE相关的部分,另外,会在以后再介绍些J2EE ...

  8. java list有序还是无序_牛批!2w字的Java集合框架面试题精华集(2020最新版),赶紧收藏。...

    一个多月前,作者和一些小伙伴决定做一系列的 Java 知识点常见重要问题的小册,方便用来夯实基础!小册的标准就一个,那就是:取精华,取重点.每一本小册,我们都会充分关注我们所总结的知识点是否达到这个标 ...

  9. 有谁转行学java成功了的吗_毕业五六年转行学java可以吗,还能学会吗?

    Java入门还是比较容易的,对于初学者来说,初学Java用合适的方式去培养对编程的兴趣,很重要.以前学习Java的时候,看的是"如鹏网"的<这样学Java不枯燥>视频教 ...

最新文章

  1. 操作像素(一)--存取像素值
  2. 手挽手带你学React:四档(上)一步一步学会react-redux (自己写个Redux)
  3. lay和lied_lie和lay的区别
  4. android 循环创建json数组对象,Android-创建JSON数组和JSON对象
  5. java 中调用 Matlab 的函数
  6. Super BOM应用步骤总结
  7. android activity view 区别,片段中onCreateView和onViewCreated之间的区别
  8. 安卓手机python开发环境_「学习」人工智能开发宝典:第四讲 Python开发环境安装(一)...
  9. ITK:Watch注册Registration
  10. sqlserver存储过程入门?看不懂打死我
  11. php值比较大小,PHP_PHP浮点比较大小的方法,本文实例讲述了PHP浮点比较大 - phpStudy...
  12. Easy Recovery帮你解决数据丢失的苦恼
  13. position学习终结者(二)
  14. 用php搭建自己的私人云盘(KODBOX可道云)
  15. Maya 2018 for Mac中文破解版永久激活方法含注册机
  16. 分库分表学习总结(1)——数据库中间件MyCat学习总结之MyCat入门简介
  17. 结构体所占内存的字节数如何计算?
  18. ubuntu20.04 bundlefusion
  19. WARNING: There was an error checking the latest version of pip.
  20. 怎样开始入门学计算机,新手如何开始学电脑 新手学电脑从何入门

热门文章

  1. vb中mschart利用数组作图_选考VB算法解析之2019年4月高考真题卷第17题
  2. mkdir 创建多级目录_linux中的目录功能和文件文件管理
  3. Oracle原理: 归档方式和日志文件
  4. ng linux 存储 配置,linux学习之--安装一套OCS inventory-ng 环境
  5. Matlab画图中的小技巧
  6. MTK 修改默认Text-to-speech Patch
  7. tf卡量产工具万能版_新物1TB TF卡正式开卖!容量大得惊人,售价也同样不菲
  8. mysql+不锁表添加字段_MySQL5.6在线DDL不锁表(在线添加字段)
  9. HttpClient测试类请求端和服务端即可能出现乱码的解决
  10. P3834 【模板】可持久化线段树 1(主席树)