记录一次使用若依前后端分离框架踩的关于Long和long的坑

踩坑重现:

一般来说使用若依自动生成对象是下图这样的,之后由于我做了修改,将Long类型改为了long和int,正是此操作导致我无法正确的查询到数据列表。

image

后端是下图这样接收的,排查了前端的传参是正常的,但是后端本来是要查询全部列表的,由于使用了long或int类型,导致该属性默认值变成了0,最终的sql查询是根据属性是否为null进行查询的,因此我要查询全部列表的适合,总是被附带上containFourSeven=0的条件,导致没查到数据。

ebeed36e18f448f2c9cbd558629c4ca2long和Long的区别

在Java中,Long和long是两种不同的数据类型。

long是Java的基本数据类型,它是用于表示整数的原始类型。它占据固定的内存空间,并且可以直接存储整数值,例如:long number = 10L;。

对于基本数据类型long,在Java中的默认值是0。当你声明一个long类型的变量时,如果没有给它赋初值,它将被默认设置为0。这是因为基本数据类型在声明时会自动初始化为其默认值。所以,如果你没有显式地给long变量赋值,它将具有默认值0。

Long是java.lang包下的一个类,它是long的包装类。Long类提供了一些有用的方法来操作和处理long类型的值。它还允许将long值作为对象进行传递,例如:Long number = 10L;。

Long类型的默认值是null。当你声明一个Long类型的变量时,如果没有给它赋初值,它将被默认设置为null。这是因为Long是一个引用类型,而不是基本数据类型,所以它可以接受null作为有效值。要注意,在使用未初始化的Long变量之前,应该先进行空值检查,以避免出现NullPointerException异常。

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容