使用 !! 抛出自定义空断言科特林的运营商?

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")
        }
    }

让您的代码简单易懂。