gpt4 book ai didi

kotlin - `foo as? Foo` 是否完全等同于 kotlin 中的 `foo as Foo?`?

转载 作者:行者123 更新时间:2023-12-04 22:56:11 27 4
gpt4 key购买 nike

foo as? Foo完全等同于 foo as Foo? ?

如果是,那为什么两者都有?

如果不是,那么有什么区别?

最佳答案

as?safe cast operator .

通常,如果您尝试强制转换一个变量,但失败了,您会得到 ClassCastException .使用这个运算符,它只返回 null而在这种情况下。

这意味着 foo as? Foo 的返回类型表达式实际上是 Foo? ,因为它可能会返回 null .
foo as Foo?foo 的类型转换到可以为空的 Foo?类型,如果变量不是该类型(即它不是 Foo 实例或 null ),这仍然会产生异常。

关于kotlin - `foo as? Foo` 是否完全等同于 kotlin 中的 `foo as Foo?`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45345552/

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