我必须确保两个值是否为非空值。当first和second具有非空值时,将first作为参数传递给second。如果其中一个为空值,则返回false。这可以在下面的一段代码中完成:
String value1 = function_to_get_value1()
if (value1 == null) return false;
String value2 = function_to_get_value2(value1)
if (value2 == null) return false;
return true;
也可以用简短的形式完成:
try {
return function_to_get_value2(function_to_get_value1()) != null;
} catch (NullPointerException e) {
return false;
}
我想知道如何用可选的流利的形式来做这件事。
你可以试试这样的方法:
return Optional.ofNullable(function_to_get_value1()).map( v1 -> function_to_get_value2(v1)).isPresent();
map()
如果存在值,则应用lambda,并返回新的optional.ofNullable()
或返回空的optional
。因此,如果任何一个值为null或非空值,那么最终您将得到一个空的optional
。
如果您查看了这些方法的源代码,它基本上等同于以下内容:
//Optional.ofNullable(...)
Optional<UiObject> v1Opt = value1 == null ? Optional.empty() : Optional.of(value1);
//Optional.map(...)
Optional<UiObject> v2Opt;
if(v1Opt.isPresent()) {
//this is the lambda
UiObject value2 = function_to_get_value2(value1);
//Optional.ofNullable(...) called in map(...)
v2Opt = value2 == null ? Optional.empty() : Optional.of(value2);
} else {
v2Opt = Optional.empty();
}
//Optional.isPresent()
return v2Opt.value != null;
下面是我的代码,按预期工作。但我需要用Optional.ofNullable替换它 如何使用
我必须在两个字符串变量中进行选择--第一个具有非值。如果它们都是-那么我想退出该方法。这可以在下面的一段代码中完成: 也可以用简短的形式完成: 我正在纠结如何用 注意:我只能使用Java 8语法(所以没有)
我有一个Java类,它有20个属性及其相应的getter和setter。还有两个对象列表:和。 使用Java 8: 但是我必须在哪个地方指定属性呢?是否应该重写和方法?
如何将(upsert和delete孤立行)合并到? : 这里有一把小提琴:https://rextester.com/quvc30763 我想先用下面的代码删除孤立行: 然后用这个Ussert: null
我试图模拟一个对象,该对象返回一个带有Mockito的Java可选对象: 当被调用,它返回。 我希望方法返回 返回的任何原因? 方法如下: 以下是Junit:
我正在努力理解如何合并两个可观察对象并利用它们合并后的产品。我在mergeMap、switchMap、flatMap、大理石图等上看了无数视频,但我仍然不知道合并观测值是如何工作的。我觉得在使用RxJS的时候,我不会有效率,甚至不会正确。 我有一个要订阅的可观测值,我还想订阅代码中特定表单数组的valueChanges可观测值。但是,我需要确保只有在正确构建表单数组之后才能进行第二次订阅,否则将出