gpt4 book ai didi

nullable - 如何在 Kotlin 中编写可空值

转载 作者:行者123 更新时间:2023-12-01 08:52:51 25 4
gpt4 key购买 nike

假设您有 2 个返回可空值的函数,而您无法组合这 2 个函数:

fun giveInt(x: Int):Int? = x+1
fun giveInt2(x: Int):Int? = x+2

为了实现构图,我写了这个函数:

fun all(x:Int):Int? {
val y = giveInt(x)
if (y != null) return giveInt2(y) else return null;
}

val four = all(1)

是否可以在不显式编写 if (y != null)return null 的情况下组合 2 个可空值来获得另一个可空值?

在 Scala 中,我会做类似的事情:

def giveInt(x: Int):Option[Int] = Some(x+1)
def giveInt2(x: Int):Option[Int] = Some(x+2)
def all(x:Int): Option[Int] = giveInt(x).flatMap(giveInt2)

我应该使用 java Optional 来实现这一点还是可以使用 ? 运算符?

谢谢:)

最佳答案

safe call ?. 操作符和 let 函数组合可以像这样:

fun giveInt(x: Int):Int? = x+1
fun giveInt2(x: Int):Int? = x+2

fun all(x: Int): Int? = giveInt(x)?.let { giveInt2(it) }

如需更多类似的成语,请使用 this link .

关于nullable - 如何在 Kotlin 中编写可空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37255839/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com