使用 !! 抛出自定义空断言科特林的运营商?
Throw custom null assertion with !! operator in Kotlin?
我想将以下代码从 android java 翻译成 kotlin
public static void Initialize(Context context) {
if (mInstance == null) {
mInstance = new AzureServiceAdapter(context);
} else {
throw new IllegalStateException("AzureServiceAdapter is already initialized");
}
}
我已经阅读了 ?
和 !!
运算符之间的区别,但无法得到我想要的表达式。基本上我想在变量不为空时抛出自定义异常。但是,我无法让它在使用 !!
时抛出自定义异常,因为它只会抛出 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")
}
}
让您的代码简单易懂。
我想将以下代码从 android java 翻译成 kotlin
public static void Initialize(Context context) {
if (mInstance == null) {
mInstance = new AzureServiceAdapter(context);
} else {
throw new IllegalStateException("AzureServiceAdapter is already initialized");
}
}
我已经阅读了 ?
和 !!
运算符之间的区别,但无法得到我想要的表达式。基本上我想在变量不为空时抛出自定义异常。但是,我无法让它在使用 !!
时抛出自定义异常,因为它只会抛出 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")
}
}
让您的代码简单易懂。