Вопросы по теме 'kotlin-null-safety'

Ошибка компиляции Kotlin 'unsafe call on nullable Receiver' после нулевой проверки
Это скриншот ошибки: Я использую Intellij v14.0.1 + плагин Kotlin v0.9.206. Насколько я понимаю, после проверки на null компилятор не должен показывать мне ошибку. Я ошибся?
1668 просмотров
schedule 11.10.2021

Kotlin: невозможно применить два условных оператора одновременно, проверка с помощью стиля функции return body
У меня есть простая функциональная проверка: fun parseValidBluetoothBrickedId(controllerId: String?): Boolean{ if(controllerId != null){ if(controllerId.startsWith(BLUETOOTH_NAME_PREFIX) && controllerId.length >...
3469 просмотров
schedule 15.10.2021

Оператор нулевой безопасности для функциональной переменной в Котлине
В моем приложении Kotlin у меня есть переменная с нулевым значением, подобная этой private var myCallback : (() -> Unit)? = null Можно ли использовать нулевой оператор безопасности ? для его вызова? Это дает мне ошибку компиляции....
126 просмотров
schedule 16.10.2021

Что заставляет интерпретировать безопасный вызов (вопросительный знак) иначе, чем классический если?
В Kotlin , если мы объявляем член класса как var и допускающий значение NULL тип, компилятор не позволяет нам запускать функцию-член, хотя мы помещаем оператор if перед вызовом функции, поскольку компилятор не может гарантировать, что члену не...
47 просмотров

Ошибка проверки нуля в Kotlin
Я использую библиотеку Java. В классе исключения есть поле «localizedMessage» и поле «описание». Я не знаю почему, но «описание» (которое является java String) распознается как String! Kotlin, а когда «описание» равно нулю, условие description ==...
726 просмотров
schedule 21.08.2022

Kotlin null-безопасность для свойств класса
Как я могу избежать использования !! для необязательных свойств класса class PostDetailsActivity { private var post: Post? = null fun test() { if (post != null) { postDetailsTitle.text = post.title // Error I...
133 просмотров
schedule 11.04.2023

Ненулевое утверждение Kotlin для null
Поскольку у Kotlin есть ненулевое утверждение, я нашел кое-что забавное... val myvar: String = null!! Это рухнет. Но дело в том, что он не проверяет во время компиляции. Приложение будет аварийно завершать работу во время выполнения....
1897 просмотров

Как определить член делегата с нулевым значением в Kotlin?
Мне нужно оформить экземпляр на Java и хотелось бы, чтобы делегирование было в Котлине (проще). Проблема в том, что я получаю ошибку компиляции определения. Как я могу определить inner , чтобы иметь возможность получать null? open class...
327 просмотров
schedule 15.12.2022

Нулевые проверки не вставлены для повторного типа, если параметр не допускает значения NULL
TL; DR . Должны ли функции с овеществленными типами учитывать возможность нулевого значения параметра типа при генерации кода? Тестовый пример Рассмотрим следующий код Kotlin; единственное различие между этими двумя методами заключается в...
482 просмотров
schedule 27.06.2023

Конвертер Java в Kotlin и аргументы метода, допускающие значение NULL
У меня был случай, когда конвертер Java в Kotlin с треском провалил меня, не пометив аргументы метода как обнуляемые. Пример: отслеживание жизненного цикла активности с использованием registerActivityLifecycleCallbacks :...
1453 просмотров

Оператор Элвиса против ненулевого утверждения: разница между этими утверждениями?
Попытка понять нулевую безопасность в Kotlin: кажется, что оба следующих утверждения работают нормально и взаимозаменяемы в моей программе: var y1: Double = 0.0 get() = when(hasParent) { true -> parent!!.y1 else -> field...
226 просмотров

Реализация безопасного вызова Kotlin (?.)
Я мог бы решить это громоздкими методами, поэтому был бы очень признателен, если бы вы опубликовали не обходной путь, а документированное решение. Я пытаюсь добавить следующий фрагмент кода в onCreateView() фрагмента, но «благодаря» безопасному...
158 просмотров
schedule 01.03.2023

Kotlin let {} не поддерживает Smart Cast
Только что изучил Nullable тип Kotlin и let{} функцию, которая заменяет if (xx != null) {} операцию. Но меня смущает одна вещь: мы все знаем и я думаю, что Complier должен знать , что, когда мы используем let{} , переменная / объект, который...
199 просмотров

Отображение ошибки безопасности Null после проверки на null
Я выполняю функцию ( listOf(matchUid, first_name, gender, matchBio, age).any { it == null } ), которая проверяет, является ли какая-либо из переданных переменных null : private fun getMatchData(doc: DocumentSnapshot){ val matchUid = if...
74 просмотров
schedule 13.06.2024