博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java包装类型的坑
阅读量:5013 次
发布时间:2019-06-12

本文共 379 字,大约阅读时间需要 1 分钟。

开发中有遇到Long类型比较是否相等,比如Long A和Long B判断是否相等,当时习惯性的直接A==B;

 

自测的话确实么有问题,但是测试那边测试就有问题,当时郁闷了一下然后换成了A.equals(B)或A.longValue()==B.longValue()都是正确的;

 

    改完bug,觉得需要看看是为什么,通过看Long.class,可以看出

    如果值在[-128, 127]之间,会放在缓存里面,而超过这个范围就要new一个新的对象,也就是说==不能判断对象是否相等。自测的话A或者B值设置的都比较小,而测试会考虑多方便的效果,所以就GG了。

 

所以说,Java基础很重要,没事要多看看源码!!!!

以及  包装类型比较还是用equals把【笑哭】

 

转载于:https://www.cnblogs.com/zhangqian27/p/8628949.html

你可能感兴趣的文章
mssqlerver中 exec 和 sp_executesql 区别
查看>>
Java Enumeration接口
查看>>
实例理解mapreduce任务的串行运行过程
查看>>
委托与事件
查看>>
BZOJ4890 [Tjoi2017]城市 【树形dp】
查看>>
Java单例模式
查看>>
重温WCF之消息契约(MessageContract)(六)
查看>>
Excel2007制作直方图和正态分布曲线图
查看>>
android adb常用指令
查看>>
Android框架之路——GreenDao3.2.2的使用
查看>>
类方法WCF学习笔记-KnowTypeAttribute用法
查看>>
平台程序微信平台开发应用的签名
查看>>
程序卡OK6410裸板更新程序_update
查看>>
MYSQL用户名:root
查看>>
JavaScript 开发规范要求
查看>>
Devstack 安装OpenStack Pike版本(单机环境)
查看>>
Javascript 函数初探
查看>>
vue5 过滤器 模版
查看>>
JAVA多线程和并发基础面试问答
查看>>
Java Nashorn--Part 5
查看>>