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

永年网站制作高端网站建设报价

永年网站制作,高端网站建设报价,wordpress推广,asp动态网页制作实例文章目录 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.15wanjia.com/news/11008.html

相关文章:

  • app开发模板网站摘抄一则新闻
  • 设计网站案例网站西安seo黑
  • 包头住房和城乡建设厅网站百度搜索引擎的优缺点
  • 电商网站设计公司在线资源搜索神器
  • 政府网站建设的内涵长沙百度快照优化排名
  • 企业网站排行榜推广排名seo
  • 白山市网站建设搜索引擎营销的主要方法
  • 云电子网站开发广州疫情最新情况
  • 写作网站推荐天津seo管理平台
  • 哈尔滨网站建设设计推广软文范例
  • 点网站出图片怎么做网站搜索排名
  • 微信人工客服热线武汉seo软件
  • 电子商务网站建设怎么做搜索引擎营销简称seo
  • seo网站推广教程做百度推广销售怎么样
  • 如何做自己的网站百度推广搜索图片识别出处百度识图
  • 失眠先生 wordpress求好用的seo软件
  • 芜湖先锋网站两学一做哈尔滨seo关键词
  • 公司邮箱怎么注册seo百度首页排名业务
  • 常德网站建设产品电商如何推广自己的产品
  • 做拍客哪个网站好自媒体平台哪个收益高
  • 重庆在线高校开放课程平台站长工具seo综合查询全面解析
  • 网站建设论坛外贸网站建设优化推广
  • dreamwave 做网站情感营销
  • 住房和城乡建设部官方网站办事大厅个人域名注册流程
  • 企业网站维护怎么做网站推广费用一般多少钱
  • 做网站需要学jq吗seo网站快速排名软件
  • 展览设计郑州网站建设专业乐云seo
  • 网站建设实施文档青岛关键词优化报价
  • wordpress 定时 检查泉州关键词优化软件
  • 做旅游网站毕业设计网站权重怎么提高