【Java】一个关于装箱的某里面试题

这篇具有很好参考价值的文章主要介绍了【Java】一个关于装箱的某里面试题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

题目:

package csdn;



public class test2 {
    public static void main(String[] args)  {
        Integer a=100;
        Integer b=100;
        System.out.println(a==b);
        Integer c=200;
        Integer d=200;
        System.out.println(c==d);

    }
}






 求这个代码的输出结果。

答案:

【Java】一个关于装箱的某里面试题,Java  SE,数据结构,java,装箱,Integer,面试题

第一个为true,第二个为false.

我们来看一下这个题,我们这里发生了装箱操作,所以我们得知道装箱过程是什么样的,我们来看一下反编译:

【Java】一个关于装箱的某里面试题,Java  SE,数据结构,java,装箱,Integer,面试题

我们可以看到底层其实是调用了valueOf()这个方法,那我们去Integer类中找一下这个方法:

【Java】一个关于装箱的某里面试题,Java  SE,数据结构,java,装箱,Integer,面试题

那也就是说,我们在进行自动装箱的时候,人家在底下会调用这个方法来帮我们进行装箱。 

那我们再回到这个题目,这个题目在给a和b赋值的时候发生了装箱,装箱会调用valueOf()方法,那我们来理解一下这个方法:

【Java】一个关于装箱的某里面试题,Java  SE,数据结构,java,装箱,Integer,面试题

 因为a和b都是100,在这个范围之内,所以返回的都是相同的值,所以相等。

因为c和b是200,不在这个范围内,所以返回的都是new的对象,等号两边都是引用类型,比较的不是c和d的值,而是类似于地址的东西,所以不相等。

 【Java】一个关于装箱的某里面试题,Java  SE,数据结构,java,装箱,Integer,面试题

 文章来源地址https://www.toymoban.com/news/detail-628728.html

到了这里,关于【Java】一个关于装箱的某里面试题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Git从一个仓库合并另一个仓库的某一次提交

    在Git中,要将另一个仓库的某一次提交合并到当前仓库,可以使用 git cherry-pick 命令。这个命令用于将指定的提交应用到当前分支上。以下是详细步骤: 请确保在执行这些操作之前备份您的代码,以防发生意外。 添加远程仓库作为远程引用(如果还没有添加) : remote-name 是

    2024年01月19日
    浏览(49)
  • 如何删除git config中的某一个配置项

    我们修改了git config之后 两种方式 一、直接编辑 .gitconfig 文件 一般在 C盘/用户/[你的用户名] 下有一个 .gitconfig 文件,可以直接编辑该文件来进行增删改。 二、使用git命令 例如,使用如下命令,就可以把 http.version 配置项删除啦 顺便说一下,添加/修改/查看的命令吧

    2024年02月12日
    浏览(40)
  • Git只克隆远程仓库的某一个目录或文件

    最近需要查看之前写的代码,需要从远程仓库拉取项目,但仓库项目太大直接克隆的话,下载时间比较慢,因此研究如何使用git只克隆需要的目录文件。下面是查看目录文件大小的命令: 下图是一个仓库的直接git克隆测试,发现项目.git文件大小为4.2M,整个项目目录大小为

    2024年04月09日
    浏览(39)
  • 微信小程序之删除数组中的某一个数据

    方法一: 代码说明:先用findIndex()找到要删除的数据的下标index,当index!=-1的时候说明数组中存在这个数据,再用splice()来删除数据,splice(index,1)中的1是说只删除该下标对应的数据,如果省略1则会默认删除从index开始往后的所有数据 方法二: 1.如果你的数组是像这样的a:[\\\'1\\\'

    2024年02月12日
    浏览(39)
  • 使用 ffmpeg 截取视频的某一个时间段内容

    使用 ffmpeg 截取视频的某一个时间段,可以结合以下3个选项: 使用 -ss 选项指定需要截取的开始时间,结合 -to 或者 -t。 to 指定结束的时间点,以下命令将截取视频文件 input.mp4 从 00:00:05.000 开始,到 00:00:15.000 结束这一段视频。 t 指定持续时间,以下命令将截取视频文件 in

    2024年02月05日
    浏览(41)
  • 【python】【pandas】读取DataFrame的某一列形成一个列表

    输出结果: 在上述代码中,我们创建了一个示例DataFrame df ,其中包含三列(\\\'A\\\'、\\\'B\\\'、\\\'C\\\'),每列都有一些示例值。 然后,我们使用 df.iloc[:, 1] 来访问DataFrame的第一列。这里的 iloc[:, 1] 表示选择所有行(使用 : ),并选择索引为1的列(即第二列)。 接下来,我们使用 tolist

    2024年02月11日
    浏览(44)
  • 洛谷 装箱问题 01背包 java

    🍑 OJ专栏 🍑 装箱问题 有一个箱子容量为 V V V ,同时有 n n n 个物品,每个物品有一个体积。 现在从 n n n 个物品中,任取若干个装入箱内(也可以不取),使箱子的剩余空间最小。输出这个最小值。 第一行共一个整数 V V V ,表示箱子容量。 第二行共一个整数 n n n ,表示物

    2024年02月04日
    浏览(42)
  • Java拓展-拆,装箱,线程,反射

    在学习JavaSE的时候,我们会使用Java基础编程,并且了解了什么是面向对象的编程,会使用Java写一些基础算法程序, 接下来,我们需要了解Java的自动拆箱和自动装箱,单线程和多线程,反射是什么,值得注意的是,讲的是Java中的特性,但是OOP语言其实都是用这些操作的,只

    2024年02月08日
    浏览(63)
  • go里面关于超时的设计

    设想一下你在接收源源不断的数据,如果有700ms没有收到,则认为是一个超时,需要做出处理。 逻辑上可以设计一个grouting,里面放一个通道,每收到一条数据进行相应处理。通道中夹杂一个timer定时器的处理,若通道在700ms内有数据,则定时器被重置,重新等待700ms再调用定时

    2024年02月12日
    浏览(27)
  • 2023 - java - 强制类型转换和装箱

    强制类型转换和装箱: 在 Java 中, (Integer) 和 (int) 是两个不同的类型转换操作符,它们的效果是不一样的。 int a = (Integer) t.getContent(); 这条语句使用了装箱(Boxing)操作,将一个整数对象(Integer)转换为基本数据类型(int)。如果 t.getContent() 返回的是一个 Integer 对象,则它

    2024年02月11日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包