Ant*_*gin 4 java android kotlin
动机:
在我们的Android项目中,我们有很多类似的验证str != null && !str.isEmpty(),所以我决定将它们重构为辅助方法。我暂时使用以下类作为助手:
public class StringUtil {
public static boolean isNullOrEmpty(@Nullable String str) {
return str == null || str.isEmpty();
}
}
Run Code Online (Sandbox Code Playgroud)
问题:
我们已经有了一个用 Kotlin 编写的字符串辅助类(例如 String.kt)。因此,是否有两个助手(一个在 Java 中,一个在 Kotlin 中)并不清楚。
我尝试过的:
在 String.kt 中复制粘贴的天真方法isNullOrEmpty()没有成功,因为它$reciever是 null,所以它崩溃了。
其次,我尝试使用isNullOrEmpty()kotlin.text 中的 Kotlin 原生(https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/is-null-or-empty.html):
public inline fun CharSequence?.isNullOrEmpty(): Boolean
Run Code Online (Sandbox Code Playgroud)
但我不知道如何从 Java 调用它。此页面(https://kotlinlang.org/docs/reference/java-to-kotlin-interop.html)不提供任何建议。
问题不在于从 Java 访问 Kotlin 扩展函数。我的扩展是完全可见的,但由于空接收器而崩溃。正如我在下面提到的,问题更多是关于访问本机库代码,而不是我自己的扩展。
有什么帮助吗?
| 归档时间: |
|
| 查看次数: |
1440 次 |
| 最近记录: |