Java 什么是成语;功能性;选修课的方式<;字符串>;如果为null或空,则返回默认字符串,否则返回修改后的字符串?
什么是惯用的、最简单的(也许是功能性的?)方式来选择一个Java 什么是成语;功能性;选修课的方式<;字符串>;如果为null或空,则返回默认字符串,否则返回修改后的字符串?,java,functional-programming,coding-style,optional,Java,Functional Programming,Coding Style,Optional,什么是惯用的、最简单的(也许是功能性的?)方式来选择一个可选的并说 返回默认字符串,例如,如果为null或空,则返回true,或者 返回修改后的字符串,例如query\u str=否则 当然,这是我笨拙的尝试: Optional<String> queryMaybe; // Given. String clause = "true"; if (queryMaybe.isPresent() && !queryMaybe.get().isEmpty()) { cl
可选的
并说
- 返回默认字符串,例如,如果为null或空,则返回
,或者true
- 返回修改后的字符串,例如
否则query\u str=
Optional<String> queryMaybe; // Given.
String clause = "true";
if (queryMaybe.isPresent() && !queryMaybe.get().isEmpty()) {
clause = "query_str = " + queryMaybe.get();
}
及
<> P> >我尽量尽量符合他们的风格,即链<代码>流<代码>,<代码>过滤器<代码>,<代码> ORSE/<代码>等。不确定是因为我来自C++背景还是因为我的学习已经过时了,但是这对我来说还是很陌生。 < P>这是你正在寻找的吗?< /P>
return queryMaybe
.filter(query -> !query.isEmpty())
.map(query -> "query_str = " + query)
.orElse("true")
这符合你的要求吗
return queryMaybe
.filter(query -> !query.isEmpty())
.map(query -> "query_str = " + query)
.orElse("true")
是的,看起来很像!这个有名字吗?JDK8+上的Lambda表达式(例如函数式)使用String#isEmpty,而不是将其与空字符串进行比较。是的,这看起来很像样式!这个有名字吗?JDK8+上的(例如函数)Lambda表达式使用String#isEmpty,而不是将其与空字符串进行比较。
return queryMaybe
.filter(query -> !query.isEmpty())
.map(query -> "query_str = " + query)
.orElse("true")