before() 在与空值比较时失败
before() failing while comparing with nulls
我正在使用 .before()
函数来确保旧值小于新值,但问题是我允许用户在这两个值中的任何一个中包含空值,因此当 .before()
将值与 null
进行比较...失败。
我的代码:
public getDetails(Calendar older, Calendar newer) {
if (older.before(newer)) {
System.out.println("Works");
} else {
System.out.println("Works");
}
}
我想到的一个替代方法是检查任何值是否为 null 并让函数通过。
所以我尝试了:
if ((older || newer) == null || older.before(newer))
有没有更简洁、更短的方法来做到这一点?
不传递 null 更好...Java 8 可以选择可选...这意味着可以不提供任何值...Optional.isPresent()...
您提供的代码无法运行,因为首先比较旧的和更新的,然后它们的结果为 null,同时 older.before(newer)
if ((older || newer) == null || older.before(newer))
这个应该可以,一对比就知道了
if( older==null || newer==null || older.before(newer))
我正在使用 .before()
函数来确保旧值小于新值,但问题是我允许用户在这两个值中的任何一个中包含空值,因此当 .before()
将值与 null
进行比较...失败。
我的代码:
public getDetails(Calendar older, Calendar newer) {
if (older.before(newer)) {
System.out.println("Works");
} else {
System.out.println("Works");
}
}
我想到的一个替代方法是检查任何值是否为 null 并让函数通过。
所以我尝试了:
if ((older || newer) == null || older.before(newer))
有没有更简洁、更短的方法来做到这一点?
不传递 null 更好...Java 8 可以选择可选...这意味着可以不提供任何值...Optional.isPresent()...
您提供的代码无法运行,因为首先比较旧的和更新的,然后它们的结果为 null,同时 older.before(newer)
if ((older || newer) == null || older.before(newer))
这个应该可以,一对比就知道了
if( older==null || newer==null || older.before(newer))