我正在尝试使用Option.getOrElse()方法。
根据消息来源:
inline fun <R> fold(ifEmpty: () -> R, ifSome: (A) -> R): R = when (this) {
is None -> ifEmpty()
is Some<A> -> ifSome(t)
}
fun <T> Option<T>.getOrElse(default: () -> T): T = fold({ default() }, ::identity)
Run Code Online (Sandbox Code Playgroud)
但是,当我使用返回值不是type的类型的lambda调用getOrElse时T,它不会显示任何错误编译时间或运行时。
val value1 = Some("val")
// No error
value1.getOrElse { true }
Run Code Online (Sandbox Code Playgroud)
这似乎不正确。我究竟做错了什么?
| 归档时间: |
|
| 查看次数: |
40 次 |
| 最近记录: |