当前位置: 首页 > news >正文

网站制作技术支持西安百度框架户

网站制作技术支持,西安百度框架户,wordpress 中毒,除了红动中国还有哪些设计网站文章目录 1.前言2. 源码解析3.总结 1.前言 相信大家职业生涯中或多或少的碰到过Java比较变态的笔试题,下面这道题目大家应该不陌生: Integer i 127; Integer j 127;Integer m 128; Integer n 128;System.out.println(i j); // 输出为 true System.o…

文章目录

    • 1.前言
    • 2. 源码解析
    • 3.总结


1.前言

相信大家职业生涯中或多或少的碰到过Java比较变态的笔试题,下面这道题目大家应该不陌生:

Integer i = 127;
Integer j = 127;Integer m = 128;
Integer n = 128;System.out.println(i == j); // 输出为 true
System.out.println(m == n); // 输出为 false

那么为什么i == j为true,m == n为false,下面我们来分析一下

2. 源码解析

在这里插入图片描述

从上述代码中可以看出,Integer类中定义了一个私有的int value字段,用于存储整数的值。另外,还有一个静态的valueOf方法,用于获取一个Integer对象,该方法内部通过判断传入的值是否在-128到127范围内,如果在这个范围内会直接使用缓存中的对象。

接下来,我们来分析题目中的情况:

Integer i = 127;
Integer j = 127;
Integer m = 128;
Integer n = 128;System.out.println(i == j); // 输出为 true
System.out.println(m == n); // 输出为 false

首先,我们知道Java对于-128到127之间的整数会进行缓存,即Integer.valueOf()方法返回的是缓存中的对象,而不是新创建的对象。这就解释了为什么i == j为true,因为它们都是缓存中的同一个对象。

但是,对于m和n,它们的值是128,超出了缓存范围,所以Integer.valueOf()方法会创建新的Integer对象,因此m == n为false,它们是不同的对象。

3.总结

这个现象是由于Java对小整数进行了缓存优化,避免了频繁创建新的Integer对象,提高了性能。但是要注意,这种缓存机制只对-128到127之间的整数有效,超出这个范围的整数仍然会创建新的对象。在比较Integer对象时,最好使用equals方法而不是==,以确保比较的是值而不是引用。

http://www.tj-hxxt.cn/news/72169.html

相关文章:

  • 做网站为什么要建站点交换链接营销的典型案例
  • 网站全屏banner轮播图html友情链接代码
  • 网站制作哪家专业今日头条新闻军事
  • 建网站过程东莞今天新增加的情况
  • 建立网站的必要性优秀软文范例800字
  • 深圳门户网站建设特点新产品推广方式有哪些
  • 网站图片展示方式有哪些搜索引擎优化需要多少钱
  • 做论坛网站前段用什么框架好点成都网站快速排名软件
  • 创什么网站吸引人谷歌seo是做什么的
  • web网站开发技术考试题型富阳网站seo价格
  • 爱站权重津seo快速排名
  • 惠州网站关键字优化网络营销项目
  • web网站开发毕业设计任务书重庆百度seo代理
  • 惠州淡水网站建设公司网店代运营收费
  • 建筑施工合同范本2021seo怎么去优化
  • 品牌标志seo专员很难吗
  • wordpress-5.0升级未被安装湖南企业竞价优化公司
  • 谷歌做网站百度搜索引擎怎么弄
  • 深圳龙岗个人网站建设网络推广网络营销和网站推广的区别
  • 建设一个网站需要多久多少钱此网站三天换一次域名
  • 资源下载网站wordpress服务营销案例100例
  • 插入视频网站seo代码优化包括哪些
  • 在线教育网站策划方案石家庄新闻网
  • skype在网站上怎么做链接优化网站首页
  • 广州西樵网站制作微信软文推广怎么做
  • 企业网站建设 优化推广优化工具
  • 最专业微网站多少钱四川旅游seo整站优化站优化
  • 毕业设计网站建设软件项目百度一下百度下载
  • 现在去石家庄会被隔离吗防城港网站seo
  • 网站站群东莞seo公司