在java中8,你可以做到以下几点: -可以将swift optional映射到新值吗?
Optional<String> foo = Optional.empty(); // or Optional.of("hello");
foo.map(String::toUpperCase).orElse("Empty String")
编辑 - 另一个例子
class Bar {
public Bar(final String baz) { ... }
}
foo.map(f -> new Bar(f)) // has mapped into an optional Bar
这toUpperCase有点太简单;我想更像是能够指定一个lambda函数或函数,可以提供基于可选present的变异值。
我看你能在迅速以下几点: -
guard let foo = optional else { return "Empty String" }
是大量有用的,也
optional ?? "Empty String"
,但有什么办法来映射基于值的值是否存在?即如果存在一个值,您可以返回一个突变值?
此功能也可用于Java/C#集合
也许给你的Java或C#实际上意味着什么是有帮助的。 “变异”在这里特别不明确。我相信你的意思是映射。 –
增加了一个例子,但我没有意识到'$ 0'允许我获得可以传递到任何我需要的值 – chrisw