Предисловие
Эта статья в основном представляет разницу между собой? и !!! в котлине. Это обменивается вашей ссылкой и обучением. Я не скажу многое ниже. Давайте посмотрим на подробное введение вместе.
1.?
//kotlin:a?
2. !!!
//kotlin:a!!.foo()//eaquivalent to java: if (a! = null) {a.foo ();} else {бросить новый kotlinnullpointexception ();}Студенты, которые являются драгоценным временем, не могут посмотреть на следующее (`_`)
3. Давайте поговорим о «!!»
Стоит отметить, что когда мы напрямую вызовут метод или переменную члена с нулевой переменной:
Позвоните напрямую, сообщите об сообщении об ошибке
Android Studio заставит это на нулевой переменной, разрешены только «безопасный вызов (? эквивалентно операции утверждения, то есть:
//(Kotlin)a!!.foo()//equal to (kotlin): a !! a.foo () // эквивалентно (java): assert a! = Null; a.foo (); // это эквивалентно (java): if (a == null) {бросить новое nullpointexception ();} a.foo ();Тогда есть заключение второй точки выше.
Суммировать
Вышеуказанное - все содержание этой статьи. Я надеюсь, что содержание этой статьи имеет определенную справочную ценность для каждого обучения или работы. Если у вас есть какие -либо вопросы, вы можете оставить сообщение для общения. Спасибо за поддержку Wulin.com.