gpt4 book ai didi

kotlin:扩展方法和空接收器

转载 作者:行者123 更新时间:2023-12-02 11:52:38 25 4
gpt4 key购买 nike

在 Lombok 扩展方法中,obj.method()SomeUtil.method(obj)的语法糖。它允许obj为null。

Kotlin扩展方法是静态解决的,因此我认为它是相同的语法糖。但是当我写

fun Any.stringOrNull() = this?.toString()

我收到有关在非null接收器上进行不必要的安全调用的警告。这是否意味着我无法像Lombok那样在空对象上调用扩展函数?

最佳答案

如果将其定义为可为空的类型的扩展,则可以在可为空的对象上调用它:

fun Any?.stringOrNull() = ...

否则,与其他任何方法一样,您必须使用 safe call operator

关于kotlin:扩展方法和空接收器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48427927/

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