Kotlin等效于Java8中的Optional :: map [英] Kotlin equivalent for Optional::map in Java8
本文介绍了Kotlin等效于Java8中的Optional :: map的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
您是否知道以下操作的快捷方式:
Do you know if there is a shortcut for:
if (x == null) null else f(x)
对于Java Optional
,您可以执行以下操作:
For Java Optional
you can just do:
x.map(SomeClass::f)
推荐答案
科特林(Kotlin)利用其自己的方法来实现Option
的想法,但是有map
,filter
,orElse
个等效项:
Kotlin utilizes its own approach to the idea of Option
, but there're map
, filter
, orElse
equivalents:
val x: Int? = 7 // ofNullable()
val result = x
?.let(SomeClass.Companion::f) // map()
?.takeIf { it != 0 } // filter()
?: 42 // orElseGet()
我最终写了一个此处完全比较:
这篇关于Kotlin等效于Java8中的Optional :: map的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文