我对Optional.ofNullable
方法感到惊讶。有一天,我写了一个函数,该函数应该返回Optional:
private Optional<Integer> extractFirstValueFrom(InsightsResponse insight) {
return Optional.ofNullable(insight.getValues().get(0).getValue());
}
我错误地认为这Optional.ofNullable
会阻止NullPointerExceptions
参数表达的任何内部。
现在我想我知道这是非常愚蠢的想法。Java必须先解析参数才能将其传递给Optional.ofNullable
调用。
但是我有一个问题。有没有一种很好的方法可以实现我的目标?我想从表达式中获取insight.getValues().get(0).getValue()
一些Integer值或null。Null可以是每个表达式之一:insight.getValues()
或insight.getValues().get(0)
。
我知道我可以将其放在try / catch块中,但是我想知道是否还有更优雅的解决方案。
如果您不知道可以做什么null
,或者想检查所有内容null
,则唯一的方法是将调用链接到Optional.map
:
如果存在值,则将提供的映射函数应用于该值,如果结果为非null,则返回描述结果的Optional。否则,返回一个空的Optional。
这样,如果映射器return null
,Optional
则将返回一个空值,这允许链接调用。
Optional.ofNullable(insight)
.map(i -> i.getValues())
.map(values -> values.get(0))
.map(v -> v.getValue())
.orElse(0);
orElse(0)
如果返回任何映射器,对的最终调用将允许返回默认值0
null
。
我对方法感到惊讶。有一天,我写了一个函数,它应该返回一个可选的: 我错误地认为将阻止参数表达式内部的任何。 现在我想我知道这是一个非常愚蠢的想法。Java必须首先解析参数才能将其传递给调用。 但我有个问题。有没有一个好的方法来完成我的目标?我想从表达式中获取一些整数值或空值。Null可以是每个表达式:或。 我知道我可以把它放在try/catch块中,但我想知道是否有更优雅的解决方案。
} ``
本文向大家介绍python 链接和操作 memcache方法,包括了python 链接和操作 memcache方法的使用技巧和注意事项,需要的朋友参考一下 1,打开memcached服务 2,使用python-memcached模块,进行简单的链接和存取数据 3,其它方法请参考: 以上这篇python 链接和操作 memcache方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家
方法链是Javascript中常用的编程模式,Giojs也支持使用方法链对参数进行配置。使用方法链,参数的设置会更加清晰可读。 以下的例子展示了如何使用Giojs方法链。(你也可以点击在线演示,然后查看例子的源码来详细了解方法链是如何应用在实际场景中的) 不使用方法链的API调用: controller.setSurfaceColor( "#00FF00" ); controller.setSel
使用依赖注入框架(比如HK2)管理的服务时,使用方法链接是否可以接受? 我不确定是否允许它“缓存”实例,即使它只在注入范围内。 创建比萨饼的示例服务: 在这里,服务被注入到JAX-RS资源中:
问题内容: 我正在使用PHP 5,并且听说过面向对象方法中的一项新功能,即“方法链接”。究竟是什么?如何实施? 问题答案: 实际上,它相当简单,您有一系列的mutator方法,它们都返回原始(或其他)对象,这样您就可以继续在返回的对象上调用方法。 输出“ ab” 在线尝试!