踩坑重现:
一般来说使用若依自动生成对象是下图这样的,之后由于我做了修改,将Long类型改为了long和int,正是此操作导致我无法正确的查询到数据列表。
后端是下图这样接收的,排查了前端的传参是正常的,但是后端本来是要查询全部列表的,由于使用了long或int类型,导致该属性默认值变成了0,最终的sql查询是根据属性是否为null进行查询的,因此我要查询全部列表的适合,总是被附带上containFourSeven=0的条件,导致没查到数据。
long和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
暂无评论内容