Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Java基础 【自动装箱和拆箱、面试题】

Java基础 【自动装箱和拆箱、面试题】

作者头像
梅花
发布于 2020-09-28 08:36:54
发布于 2020-09-28 08:36:54
7430
举报

JDK 1.5 (以后的版本)的新特性自动装箱和拆箱

1. 自动装箱:把基本类型转换为包装类类型 int a =10; Integer i = new Integer(a);

Integer value = 10; 为什么基本类型就能直接转化为Integer ,Integer 不应该是new出来的吗 内部会自动的 new Integer(10) 自动装箱 2. 自动拆箱: 把包装类型转换为基本类型 Integer value2 = new Integer(120); int a = value2; 对象赋值给基本数据类型,为什么会不报错,因为内部会调用 value2.intValue() 这种就是自动拆箱

举一反三

Double d1 = 9.14 //内部会自动new一个Double 然后传递进去

new 出来的东西 每个都会分配一个内存地址

拆箱:devaning 装箱:

装箱拆箱面试题: 考点(Integer内部装箱的内部实现)

看程序写结果 1.

Integer value1 = new Integer(97); Integer value2 = new Integer(97); System.out.println(value1 == value2); System.out.println(value.equals(value2)); //这个就是比较值 System.out.println("-------------------"); 答案 : false true

2. 自动装箱,如果值一样、地址也一样

Integer value3 = 127; //自动装箱 Integer value4 = 127; System.out.println(value3 == value4); System.out.println(value3.equals(value4)); //这个也是比较值 答案:true true

`3. Integer value5 = 128; Integer value6 = 128; System.out.println(value5==value6); //false System.out.println(value5.equals(value6)); //true

答案: false true

总结: 自动装箱,范围在 -128 ~ 127 【256个数字 】的地址是一样的,其他范围地址不一样 -128 到 127 之间的有个自动装箱的缓存池 如果不在这个范围,就会使用new 新创建

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-09-22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
有关JAVA自动装箱-拆箱的分析
在java常量与常量池 中已经介绍过一些java自动装箱与拆箱的例子。现在单独对自动装箱/拆箱进行总结。
冬天里的懒猫
2020/08/03
9140
如何理解Java中的自动拆箱和自动装箱?
回到家后小伟赶紧查资料,我透,这不就是问基本类型跟封装类型吗,面试官整啥名词呢...
niceyoo
2020/05/28
1.5K0
【JavaSE专栏6】Java 基本类型转换、包装类、自动装箱、自动拆箱
Java 作为一个强类型的编程语言,在不同数据类型之间进行转换时,需要进行手动 / 自动转换。
Designer 小郑
2023/08/01
2390
【JavaSE专栏6】Java 基本类型转换、包装类、自动装箱、自动拆箱
滚雪球学Java(07):自动装箱、自动拆箱,Java开发者必备技能
咦咦咦,各位小可爱,我是你们的好伙伴——bug菌,今天又来给大家普及Java SE相关知识点了,别躲起来啊,听我讲干货还不快点赞,赞多了我就有动力讲得更嗨啦!所以呀,养成先点赞后阅读的好习惯,别被干货淹没了哦~
bug菌
2024/04/25
1430
滚雪球学Java(07):自动装箱、自动拆箱,Java开发者必备技能
java中的自动装箱和拆箱
我们知道java为8种基本类型分别提供了对应的包装类型,在Java SE5之前,如果要生成一个数值为10的Integer对象,必须这样进行:
说故事的五公子
2019/09/11
6300
java中的自动装箱和拆箱
Java-装箱和拆箱(谁动了我的变量?)
除了后两个Character和Boolean类是Object派生类外,其余六个是继承自Number类。
唔仄lo咚锵
2021/12/31
5550
Java 自动装箱与拆箱的实现原理
什么是自动装箱和拆箱 自动装箱就是Java自动将原始类型值转换成对应的对象,比如将int的变量转换成Integer对象,这个过程叫做装箱,反之将Integer对象转换成int类型值,这个过程叫做拆箱。因为这里的装箱和拆箱是自动进行的非人为转换,所以就称作为自动装箱和拆箱。原始类型byte, short, char, int, long, float, double 和 boolean 对应的封装类为Byte, Short, Character, Integer, Long, Float, Double, B
java404
2018/05/18
1.8K0
夯实Java基础系列2:Java基本数据类型,以及自动拆装箱里隐藏的秘密
本系列文章将整理到我在GitHub上的《Java面试指南》仓库,更多精彩内容请到我的仓库里查看
程序员黄小斜
2019/09/25
3.5K0
【JAVA-Day06】Java 基本数据类型转换、自动装箱和自动拆箱
在Java编程中,我们经常需要处理基本数据类型的转换以及包装类的使用。本文将深入探讨这些概念,包括为什么要进行基本数据类型转换、自动类型转换和强制类型转换,以及自动装箱和自动拆箱的工作原理。我们还将比较基本数据类型和包装类的性能差异,以帮助您在实际开发中做出明智的选择。
默 语
2024/11/20
960
【JAVA-Day06】Java 基本数据类型转换、自动装箱和自动拆箱
通过源码了解Java的自动装箱拆箱
不知道还有没有人不知道这段代码出现true和false的原因。由此我们引出了Java装箱的这个操作。我们带着疑问去进行分析。
一个程序员的成长
2022/05/17
4160
java之学习Integer的自动装箱和自动拆箱(JDK5新特性)
Integer的自动装箱和自动拆箱 概述: 自动装箱:把基本类型转换为包装类类型 自动拆箱:把包装类类型转换为基本类型 注意事项 在使用时,Integer x = null;代码就会出现NullPointerException。 建议先判断是否为null,然后再使用。 案例代码 package com.ifenx8.study.array; public class Demo_JDK5 { /** * A:JDK5的新特性 * 自动装箱:把基本类型转换为包装类类型 * 自动拆箱:把包
吾爱乐享
2018/07/13
3240
JAVA自动拆装箱、equals与==比较
自动装箱就是Java自动将原始类型值转换成对应的对象,比如将int的变量转换成Integer对象,这个过程叫做装箱,反之将Integer对象转换成int类型值,这个过程叫做拆箱。
chenchenchen
2023/01/30
4370
自动拆箱与装箱
本专栏是自己学Java的旅途,纯手敲的代码,自己跟着黑马课程学习的,并加入一些自己的理解,对代码和笔记 进行适当修改。希望能对大家能有所帮助,同时也是请大家对我进行监督,对我写的代码进行建议,互相学习。
学编程的小程
2023/10/11
2620
自动拆箱与装箱
一篇文章讲清楚Java基本数据类型,常量池,以及自动拆装箱的秘密
Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。
Java技术江湖
2019/09/24
6.3K0
一篇文章讲清楚Java基本数据类型,常量池,以及自动拆装箱的秘密
必考:从字节码层面看自动拆装箱的原理
上一篇文章中,我们分享包装类的缓存机制时,提到了自动装箱的问题。今天我们就重点分享自动装箱的原理,及其相关的知识点(笔试必考)!
程序视点
2023/11/16
1690
必考:从字节码层面看自动拆装箱的原理
详解JAVA包装类、自动拆箱和装箱
终于有时间给大家来写篇技术推文啦!今天给大家来说说JAVA中的包装类以及自动拆箱和装箱的相关知识!这部分的内容其实也是很重要的,在一些面试题中这部分知识还是会涉及到的,所以大家也跟我来一起学习一下!
Python进击者
2019/09/17
4280
详解JAVA包装类、自动拆箱和装箱
Java 为什么需要包装类,如何使用包装类?
Java 是号称面向对象的语言,所有的类型都是引用类型。 Object 类是所有类的父类,而且是唯一不用指定明确继承的类。但是基本类型如 int 不是引用类型,也不是继承自 Object,所以 Java 需要一个这样的包装类来使其面向对象的完整性。 包装类同时也可以实现可空类型,即一个数值是空的。Java 集合中也只能放入包装类型,而不支持基本类型。
水货程序员
2018/11/13
6.7K0
int 和 integer :装箱和拆箱的过程,会用到什么方法,你觉得这个会对性能有影响吗,原因是什么(百度一面)
今天继续来讲面试,已经出了很多java一面真题系列文章了,之后也会整理成一个系列,欢迎持续关注哦。
用户7656790
2020/09/01
2.7K0
Java中的自动拆装箱、装箱缓存
Java 是一种面向对象的编程语言,Java 中的类把方法与数据类型连接在一起,构成了自包含式的处理单元。但在 Java 中不能定义基本类型对象,为了能将基本类型视为对象处理,并能连接相关方法,Java 为每个基本数据类型都提供了包装类,如 int 型数值的包装类 Integer,boolean 型数值的包装类 Boolean 等。这样便可以把这些基本类型转换为对象来处理了。
用户7886150
2020/12/10
5850
面试官:兄弟,说说基本类型和包装类型的区别吧
POJO 的英文全称是 Plain Ordinary Java Object,翻译一下就是,简单无规则的 Java 对象,只有属性字段以及 setter 和 getter 方法,示例如下。
Remember_Ray
2020/01/21
3.6K1
推荐阅读
相关推荐
有关JAVA自动装箱-拆箱的分析
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档