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

关于网站开发的自我评价北京长空建设有限公司网站

关于网站开发的自我评价,北京长空建设有限公司网站,如何更改网站的关键词,由()承担问题描述: 看如下代码: Long a 128L; Long b 128L;System.out.println(a b);运行结果如下: 明明 a 和 b 的值一样,但是结果却为 False,为什么同样的类型,同样的值,却不相等,这是…

问题描述:

看如下代码:

Long a = 128L;
Long b = 128L;System.out.println(a == b);

运行结果如下:

明明 ab 的值一样,但是结果却为 False,为什么同样的类型,同样的值,却不相等,这是为什么呢?

原因分析

那么我们就需要查看一下源码了

源码中显示,Long 中有一个静态的内部类 LongCache,专门用于缓存 -128127 之间的值,一共 256 个元素。

如果值在 [-128, 127] 之间,会放在缓存里面,而超过这个范围就要 new 一个新的对象,也就是说 == 不能判断对象是否相等。

当然,如果值是在 [-128, 127] 之间的话是可以正常比较,测不出来什么问题的。

故障解决

1. 使用 .longValue() 比较

Long a = 128L;
Long b = 128L;//System.out.println(a == b);
System.out.println(a.longValue() == b.longValue());

运行结果如下:

2. 使用 .equals() 比较

Long a = 128L;
Long b = 128L;//System.out.println(a == b);
//System.out.println(a.longValue() == b.longValue());
System.out.println(a.equals(b));

运行结果如下:

总结

Longlong 的包装类,而用 Long 声明的变量其实是对象。在 Java 中,== 运算符用于比较基本数据类型时,比较的是它们的值是否相等;但用于比较对象时,比较的是它们在内存中的地址是否相同。 对于 Long 类型来说,其内部存在 LongCache 这个静态内部类用于缓存 -128127 之间的值,一共 256 个元素。当创建 Long 类型对象且赋值在这个区间内时,实际上是从缓存中获取已有的对象,所以使用 == 比较这些在缓存区间内相同值的对象时,会返回 true,因为它们指向的是同一个缓存中的对象,内存地址相同。

然而,一旦赋值超出了 [-128, 127] 这个范围,就会新创建一个 Long 对象,像示例中赋值为 128L 的情况,ab 虽然值相同,但它们是两个不同的对象,在内存中有不同的地址,所以直接使用 == 比较就会返回 false

  • 通过使用 .longValue() 方法,是将 Long 对象转换为基本数据类型 long 再进行比较,此时比较的就是具体的数值了,所以只要数值相等就能返回 true
  • 通过使用 .equals() 方法时,Long 类重写了 Object 类的 equals() 方法,它是先通过 .longValue() 方法获取 Long 对象的基本类型 long 的值之后再做比较。

总之,在比较 Long 类型对象的值是否相等时,要谨慎使用 == 运算符,尽量采用.equals() 的方式来(或者是.longValue()的方式)确保比较的是实际的数值,避免因对象内存地址不同而导致比较结果不符合预期


文章转载自:

http://jubhPufO.Lgphx.cn
http://0df1lxcJ.Lgphx.cn
http://y6L98Kwp.Lgphx.cn
http://XIsAQRCv.Lgphx.cn
http://CZb9snPq.Lgphx.cn
http://yMOCMsAg.Lgphx.cn
http://tWMAVe2u.Lgphx.cn
http://hhJtpB2U.Lgphx.cn
http://G2G9BtvU.Lgphx.cn
http://AoJ8p91r.Lgphx.cn
http://1bU9HZCy.Lgphx.cn
http://PaSQZLLG.Lgphx.cn
http://o1T6Oqik.Lgphx.cn
http://6vL8Ri3p.Lgphx.cn
http://2ph9Z9lj.Lgphx.cn
http://hvNXI7cG.Lgphx.cn
http://pu85H1W7.Lgphx.cn
http://snLIpRT4.Lgphx.cn
http://94YOWkNp.Lgphx.cn
http://6uREnjEY.Lgphx.cn
http://uEl8bciH.Lgphx.cn
http://O3yiTxZZ.Lgphx.cn
http://lpuxQOqe.Lgphx.cn
http://9Wb6wFO7.Lgphx.cn
http://q4wYCPFA.Lgphx.cn
http://qKTfF3Cg.Lgphx.cn
http://5va625kt.Lgphx.cn
http://m8ve5txx.Lgphx.cn
http://dZNX0mRu.Lgphx.cn
http://9vbHdVBM.Lgphx.cn
http://www.dtcms.com/wzjs/635032.html

相关文章:

  • 沈阳正规制作网站公司哪家好蚌埠集团网站建设
  • 企业网站流程图安阳网站建设
  • 黑龙江省城乡和建设厅网站首页58网站自己做
  • 珠宝网站建设公司建设刷单网站
  • 永久网站体育类网站模板
  • 锦州网站建设排行榜运营一个网站的成本
  • 建设专业网站空调安装工做网站
  • 山东省住房和城乡建设局网站产品开发流程图模板
  • 在国外做热情网站的风险html网站建设基本流程图
  • 保定网站开发搞软件开发的一般学什么专业
  • 重庆微信网站制作公司机械英文网站
  • 四平网站建设哪家好国外黄冈网站推广软件有哪些
  • 河南春辉建设集团官方网站做微信推送用什么网站
  • 襄阳网站建设公司做水产有什么网站
  • 云空间的网站wordpress程序重装
  • 制作wordpress模板宁波seo行者seo09
  • 永年做网站旅游宣传网站建设方案
  • 东莞网站建设营销平台的网站打不开怎么办
  • 便宜的网站制作水果网站建设规划书
  • wordpress 封禁账号江门seo外包服务
  • 百度网站排名优化网站建设与网络设计课程
  • 建设银行 网站模板建网站哪个品牌好
  • 宁夏水利厅建设管理处网站厦门软件园网站建设
  • e想时代官方网站网站技术策划
  • 毕节网站建设公司网站流量查询平台
  • 做端口映射 怎么访问网站站长工具使用
  • 网站开发适合什么工作厦门专业网站
  • 机械网站案例重庆建设工程安全监督信息网官网
  • 菏泽做网站的公司英文网站建设服务合同模板下载
  • 企业网站的seo全球十大设计公司