Java 8 将两个空检查替换为可选
Java 8 Replace two null check with Optional
下面是我的代码,它按预期工作。但我需要将其替换为 Optional.ofNullable
if (getFirstData != null && getSecondData !=null {
... doing my work here
} else {
... doing my else work here
}
如何使用 Optionals.ofNullable(..)
替换两个 AND null 检查?
只是技术上你想要的可以通过以下方式实现
if (Optional.ofNullable(getFirstData).isPresent() && Optional.ofNullable(getSecondData).isPresent() ) {
... doing my work here
} else {
... doing my else work here
}
但正如其他评论者已经指出的那样,这样做似乎并不明智。
这可能有点矫枉过正,但如果需要检查 多个 值是否为空值,可以像这样 使用 Optional
:
static boolean allNonNullsOptional(Object ... items) {
return Stream.of(items).map(Optional::ofNullable).allMatch(Optional::isPresent);
}
但是用更短的方法也可以达到同样的效果 Object::nonNull
:
static boolean allNonNulls(Object ... items) {
return Stream.of(items).allMatch(Objects::nonNull);
}
下面是我的代码,它按预期工作。但我需要将其替换为 Optional.ofNullable
if (getFirstData != null && getSecondData !=null {
... doing my work here
} else {
... doing my else work here
}
如何使用 Optionals.ofNullable(..)
替换两个 AND null 检查?
只是技术上你想要的可以通过以下方式实现
if (Optional.ofNullable(getFirstData).isPresent() && Optional.ofNullable(getSecondData).isPresent() ) {
... doing my work here
} else {
... doing my else work here
}
但正如其他评论者已经指出的那样,这样做似乎并不明智。
这可能有点矫枉过正,但如果需要检查 多个 值是否为空值,可以像这样 使用 Optional
:
static boolean allNonNullsOptional(Object ... items) {
return Stream.of(items).map(Optional::ofNullable).allMatch(Optional::isPresent);
}
但是用更短的方法也可以达到同样的效果 Object::nonNull
:
static boolean allNonNulls(Object ... items) {
return Stream.of(items).allMatch(Objects::nonNull);
}