2022
05-24
05-24
浅谈Java包装类型Long的==操作引发的低级bug
目录背景两个Long 类型的 ==对Collections.EMPTY_SET进行add引发的异常Collections的空集合使用注意事项启示录背景一个简单的列表检索功能,列表元素有一个Long类型的属性,遍历过程中犯了一个低级错误,导致功能流程始终错误,本文将分享两个低级错误引发的bug。两个Long 类型的 ==查找某个元素A在列表B中对应的对象的时候,根据元素主键查询,主键类型为包装类型Long,遍历流程如下:for(MyData...
继续阅读 >
JavaLong类型对比在开发的到一个很基础的问题在代码中,两个Long类型数据比较用“==”,结果有时候true有时候false,原本以为Long会自动转long然后再比较,不会是这里的错,找来找去实在找不到其他原因了,我就打印这两个Long类型出来看,果然是不相等,于是脸黑了一阵......去查了一下资料,原来是这样:Java基本类型的包装类的大部分都实现了常量池技术,即Byte,Short,Integer,Long,Character;这5种包装类默认创建了数值[-128...
目录背景SpringBootController前端调用方案方案一@JsonSerialize注解方案二全局处理器与swagger集成总结背景在使用SpringBootMvc的项目中,使用Long类型作为id的类型,但是当前端使用Number类型接收Long类型数据时,由于前端精度问题,会导致Long类型数据转换为Number类型时的后两位变为0SpringBootController以下代码提供一个Controller,返回一个Dto,Dto的id是Long类型的,其中id的返回数据是1234567890102349123@Cros...