gpt4 book ai didi

kotlin - 用!!抛出自定义null断言! Kotlin的运营商?

转载 作者:行者123 更新时间:2023-12-02 13:44:00 25 4
gpt4 key购买 nike

我想将以下代码从 android java转换为kotlin

 public static void Initialize(Context context) {
if (mInstance == null) {
mInstance = new AzureServiceAdapter(context);
} else {
throw new IllegalStateException("AzureServiceAdapter is already initialized");
}
}

我已经阅读了 ?!!运算符之间的区别,但无法获得所需的表达式。基本上,我想在变量不为null时引发自定义异常。但是,当使用 !!时,我无法引发自定义异常,因为它仅引发NPE。
 public fun Initialize(context: Context){
mInstance!!.AzureServicesAdapter(context) ?: throw IllegalStateException("AzureServiceAdapter is already initialised")
}

上面是我将自己转换为Kotlin的代码,但是我不确定这是否正确。谢谢您的帮助。

最佳答案

您可以在Kotlin中使用相同的东西。

 fun Initialize(context: Context) {
if (mInstance == null) {
mInstance = AzureServiceAdapter(context)
} else {
throw IllegalStateException("AzureServiceAdapter is already initialized")
}
}

使您的代码简单易懂,每个人都可以理解。

关于kotlin - 用!!抛出自定义null断言! Kotlin的运营商?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60769416/

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