自动装箱和自动拆箱

  • 前言
    • 八种基本数据类型对应的包装类
  • 一、自动装箱
  • 二、 自动拆箱

前言

在任何情况下,都不能将对象强制转换成基本数据类型或基本数据类型强制转换为对象。Java中,基本类型和对象是完全不同的东西,不能自动在两者之间强制转换或互换。

八种基本数据类型对应的包装类

java.lang包中提供了对应于每种基本数据类型的类:

基本类型 包装类型
byte Byte(父类Number)
short Short(父类Number)
int Integer(父类Number)
long Long(父类Number)
float Float(父类Number)
double Double(父类Number)
boolean Boolean(父类Object)
char Charachter(父类Object)

**Number类是抽象类,无法实例化

一、自动装箱

自动地将基本数据类型转换为对象
Byte、Short、Integer、Long、Float、Double、Boolean、Character和Void,这些类被称为对象封装器(object wrapper),因为它们提供了基本类型值的对象表示

 //创建Integer类来存储100Integer data = new Integer(100);

二、 自动拆箱

自动地将对象转换为基本数据类型
Number类中的方法:

  • byte byteValue()
    返回指定数字的值为 byte ,这可能涉及舍入或截断
  • abstract double doubleValue()
    返回指定数字的值为 double ,可能涉及四舍五入
  • abstract float floatValue()
    返回指定数字的值为 float ,可能涉及四舍五入
  • abstract int intValue()
    返回指定数字的值为 int ,这可能涉及舍入或截断
  • abstract long longValue()
    返回指定数字的值为 long ,可能涉及四舍五入或截断
  • short shortValue()
    返回指定数字的值为 short ,这可能涉及舍入或截断
    这些方法负责拆箱
//从Integer实例获得一个int值
int dataValue = data.intValue();
//将String转换为数字类型
int penn = Integer.parseInt("65000");


自动装箱(autoboxing)和自动拆箱(unboxing)相关推荐

  1. 什么是装箱?什么是拆箱?

    一.什么是装箱?什么是拆箱? 在前面的文章中提到,Java为每种基本数据类型都提供了对应的包装器类型,至于为什么会为每种基本数据类型提供包装器类型在此不进行阐述,有兴趣的朋友可以查阅相关资料.在Jav ...

  2. 什么是装箱?什么是拆箱?装箱和拆箱的执行过程?

    什么是装箱?什么是拆箱?装箱和拆箱的执行过程?常见问题? 1.什么是装箱?什么是拆箱? 装箱:基本类型转变为包装器类型的过程. 拆箱:包装器类型转变为基本类型的过程. //JDK1.5之前是不支持自动 ...

  3. 【自动装箱】Java自动装箱、自动拆箱

    Java中集合只允许存储引用数据类型,那么 int char double等基础数据类型,如何存储在集合里呢?Java在JDK1.5版本以后推出了自动装箱.自动拆箱操作,那么什么是自动装箱呢,下面我们 ...

  4. 什么是装箱(boxing)和拆箱(unboxing)?

    将值类型转换为引用类型的过程称为装箱    反之称为拆箱

  5. java中byte装箱和装箱_Java包装类、拆箱和装箱详解

    虽然 Java 语言是典型的面向对象编程语言,但其中的八种基本数据类型并不支持面向对象编程,基本类型的数据不具备"对象"的特性--不携带属性.没有方法可调用. 沿用它们只是为了迎合 ...

  6. 什么是128陷阱?什么是装箱?什么是拆箱?为什么要有包装类?

    java 128陷阱是出现在Integet自动装箱和自动拆箱中,在valueOf()方当中,在-128-127之间的数值都存储在有一个cache数组当中,该数组相当于一个缓存,当我们在-128-127 ...

  7. Java中的基本类型与封装类型以及自动装箱、拆箱

    Java中的类型分为原始类型和对应的封装类型(装箱类型),基本类型包括byte字节型(一个字节).char字符型(两个字节).short短整型(两个字节).int整型(四个字节).long长整型(八个 ...

  8. 金现代面试题—— i++,++i, ,|自动装箱和自动拆箱(int,byte,float等)|取int等基本类型的最大值

    本文目录 1.看程序运行,算运行结果 2.问答--解释一下自动装箱和自动拆箱 3.对byte,short,float.double 进行自动装箱和自动拆箱 4.通过封装类获取其基本类型的最大值 本文目 ...

  9. java list装箱,Java 自动装箱和拆箱

    Java 自动装箱和拆箱 在本教程中,我们将借助示例学习Java自动装箱和拆箱. Java自动装箱-包装器对象的原始类型 在自动装箱中,Java编译器会自动将原始类型转换为其相应的包装器类对象.例如, ...

最新文章

  1. Spring mvc3的ajax
  2. 高压模块性相关的几个问题测量
  3. c语言原始,[蓝桥杯][历届试题]回文数字 最原始的方法(C语言代码)
  4. c语言常用的字符串处理函数
  5. mysql 下载地址及安装教程
  6. Pyinstaller封装exe-TypeError: expected str, bytes or os.PathLike object, not NoneType
  7. python中正则表达式是什么意思_python – 正则表达式中[^.] *的含义是什么?
  8. 把一个数组分为多个数组
  9. 配置了坐标还是找不到serv_你那么努力,为何还是找不到工作?从优势发展观来看个人职业发展...
  10. C/C++ OpenCV滑动条的创建与使用
  11. Linux开机启动过程(4):切换到64位模式-长模式(直到内核解压缩之前)
  12. 数字的与或非处理表中的多个状态(二)
  13. java火柴人吃豆豆,4399游戏火柴人吃豆豆全图文通关攻略分享
  14. Guawa的Splitter的工具类
  15. 《岛》让伤口暴露在空气里吧
  16. 项目接入即时聊天客服系统(环信系统)PHP后端操作
  17. 杭电通信841考研考研经验交流及资料分享
  18. ipv4地址的编码长度为_请问IPV4是什么意思???
  19. [GYCTF2020]Blacklist 使用handler函数进行sql堆注入
  20. LJ2200部分软件空白打印问题解决

热门文章

  1. rides雪崩和rides穿透学习
  2. 环境退化识别(长走廊)
  3. 计算机毕业设计基于asp.net家庭个人理财系统
  4. 遭遇syst3md挖矿病毒(1)
  5. 台式计算机开机黑屏,台式电脑开机后出现黑屏,按f2后才能开机
  6. 虹科案例|奔驰GLS车型LIN氛围灯测试
  7. 0. Canal 的安装和使用
  8. html怎么将div居中,在html中怎么把div居中
  9. java微课版李玉臣答案_JavaScript前端开发程序设计教程(微课版)简介,目录书摘...
  10. Adobe Media Encoder“编译影片时出错“ GPU渲染错误 错误代码:-1609629695