gpt4 book ai didi

Kotlin:什么是 kotlin.String!类型

转载 作者:IT老高 更新时间:2023-10-28 13:42:09 29 4
gpt4 key购买 nike

kotlin.String! 类型是什么意思,如何编译下面的代码?

fun withDefault<A>(computation: () -> A, default: A) =
try { computation() } catch (e: Exception) { default }

fun getHostname1() = withDefault(InetAddress.getLocalHost().getCanonicalHostName, "localhost")

编译器打印以下错误信息:

Kotlin: Type inference failed: fun <A> withDefault(computation: () -> A, default: A): A
cannot be applied to
(kotlin.String!,kotlin.String)

最佳答案

当类型以 ! 结尾时,这意味着这是一个平台类型,编译器不会对其强制执行 null 安全性。您可以在官方blog中阅读有关平台类型的信息,平台类型部分。

我建议这样修复:

fun getHostname1() = withDefault({ InetAddress.getLocalHost().getCanonicalHostName() } , "localhost")

关于Kotlin:什么是 kotlin.String!类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27460536/

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