Бросьте пользовательское нулевое утверждение с помощью !! оператор в Kotlin? - PullRequest
0 голосов
/ 20 марта 2020

Я хотел бы перевести следующий код с 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, но я не уверен, что это правильный ход. Спасибо за помощь.

1 Ответ

0 голосов
/ 22 марта 2020

Вы можете использовать то же самое в Kotlin.

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

Сохраняйте свой код простым и понятным для всех.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...