【发布时间】:2014-12-25 14:40:48
【问题描述】:
如何在 Java 中检查 Long 值是否为 null?
这行得通吗?
if ( longValue == null) { return blah; }
【问题讨论】:
标签: java null long-integer
如何在 Java 中检查 Long 值是否为 null?
这行得通吗?
if ( longValue == null) { return blah; }
【问题讨论】:
标签: java null long-integer
原始数据类型不能是null。只有Object 数据类型可以是null。
int、long等...不能是null。
如果您使用Long(long 的包装类),那么您可以检查null 的:
Long longValue = null;
if(longValue == null)
【讨论】:
如果longValue 变量是Long 类型(包装类,而不是原始long),那么可以检查空值。
原始变量需要显式初始化为某个值(例如,0),因此它的值永远不会为空。
【讨论】:
如果是Long对象那么你可以使用longValue == null或者你可以在Java 7+项目中使用Objects.isNull(longValue)方法。
请查看Objects了解更多信息。
【讨论】:
您可以使用 longValue == null 检查 Long 对象的空值,
您可以将longValue == 0L 用于long(原始),因为long 的默认值为0L,但如果longValue 也为零,则结果将为true
【讨论】:
当然,原始类型不能为空。但在 Java 8 中,您可以使用 Objects.isNull(longValue) 进行检查。 前任。 If(Objects.isNull(longValue))
【讨论】:
如前所述,原语不能设置为空对象类型。
在这种情况下我所做的只是使用-1 或Long.MIN_VALUE。
【讨论】:
如果它是 Long 你可以检查它是否为 null 除非你去 long (因为原始数据类型不能为 null 而 Long 实例是一个对象)
Long num;
if(num == null) return;
在某些情况下,您还可以更喜欢将 Optional 与它一起使用,以使其在某些用例中以某种方式美观。 参考@RequestParam in Spring MVC handling optional parameters
【讨论】:
由于primitives(long)不能为null,所以可以转换为该primitive type(ie.Long)的包装类,并可以进行null检查。
如果要检查long变量是否为null,可以将其转换为Long并检查,
long longValue=null;
if(Long.valueOf(longValue)==null)
【讨论】:
Long.valueOf() 操作,您永远不会得到null 值。