Articles of kotlin null safety

Разрешены только безопасные или неаудированные звонки, разрешенные для нулевого типа приемника arraylist

Просто начал использовать kotlin для разработки Android. Мой arraylist объявлен как это – var day1: ArrayList<DietPlanDetailModel>? = null Теперь я пытаюсь получить доступ к элементу по его положению val dietPlan= day1[position] но я получаю ниже времени компиляции, Разрешены только безопасные или неаудированные звонки, разрешенные для нулевого типа приемника arraylist Почему я получаю эту ошибку и […]

Как определить члену делегата с нулевым значением в Котлине?

Мне нужно украсить экземпляр на Java и хотелось бы, чтобы делегация была в Котлине (проще). Проблема в том, что я получаю ошибку компиляции в определении. Как я могу определить inner чтобы иметь возможность получать нуль? open class ConnectionDecorator(var inner: Connection?) : Connection by inner // Getting an error on the right inner Пример использования Java: […]

Как правильно реализовать lateinit с пользовательскими объектами класса для использования в onCreate () в android, избегая ошибки Property getter или setter expected

Я пытаюсь реализовать интеграцию агента Dialogflow (ранее api.ai) с моим Android-приложением, используя Kotlin. Я проверил другие вопросы и ответы о kotlin lateinit а жизненный цикл onCreate () в Android идеально подходит для реализации в конце-начале, чтобы избежать написания грязного кода с нулевыми объектами и соответствующими !! и ? Доступ в Котлин. Но при попытке lateinint […]

Предупреждение безопасности Kotlin Null Неожиданные токены (используйте, чтобы разделить выражения на одной строке)

Я пробовал оператор Элвиса в коде Kotlin в своем заявлении и получил следующее предупреждение: Unexpected tokens (use ; to seperate expressions on the same line) Код: var key: String = "KEY is" /* "check" is name of String variable which can be null Warning coming on following statement*/ var str : String = check?key.replace("KEY", "ABDS-ASDSA-DSSS")?:check […]

Требовать в суперклассе 'init block вызывает исключение IllegalArgumentException

Доброе утро, критики Котлин. У меня есть структура наследования, в которой абстрактный суперкласс выполняет некоторые общие проверки данных. Компилятор не жалуется, но после исполнения исключение IllegalArgumentException генерируется JVM Код fun main(args: Array<String>) { val foo = Child("NOT_BLANK") } abstract class Parent( open val name: String = "NOT_BLANK" ) { init { require(name.isNotBlank()) { "Firstname must […]

null в listOf (), а не null в listOf (значение) в Kotlin в одном лайнере?

Пусть f() возвращает значение, равное нулю. Что я хочу сделать, так это то, что если f() равно null, получите пустой список, else, если f() не является нулевым, получите список значения одного элемента. В Scala мы можем сделать что-то вроде этого: Option(f()).toList или более словесно Option(f()).map(v => List(v)).getOrElse(List.empty) В Kotlin нет Option (если нет библиотеки Funktionale), […]

функция kotlin, возвращающая нуль

Я пытаюсь разработать android разработки с kotlin. В моем случае я хочу переписать: ContentProvider, где я должен переписать функцию «запрос». «Запрос» возвращает тип «Курсор». Однако, когда я создаю экземпляр курсора в функции с database.query, я возвращаю «Курсор?». тип. Поэтому я могу только вернуть курсор, если он не является нулевым, но что делать, если он равен […]

как использовать весенние аннотации, такие как @Autowired или @Value в kotlin для примитивных типов?

Autowiring non-primitive с весенними аннотациями, такими как @Autowired lateinit var metaDataService: MetaDataService работает. Но это не работает: @Value("\${cacheTimeSeconds}") lateinit var cacheTimeSeconds: Int с ошибкой: модификатор lateinit не допускается для примитивных типов. Как autowire свойства primitve в классы kotlin?

Ошибка проверки Котлина

Я использую библиотеку Java. В классе исключения есть поле «localizedMessage» и поле «description». Я не знаю почему, но «описание» (которое является строкой java) распознается как String! by Kotlin, а когда «description» имеет значение null, описание условия == null возвращает false. Пример кода: mvpView?.showToast(it.description?:it.localizedMessage) или без Элвиса: if (it.description.isNullOrBlank()) { mvpView?.showToast(it.localizedMessage) } else { mvpView?.showToast(it.description) } […]

Исключение Null Pointer, работающее с Map (Kotlin)

У меня есть следующий класс: class SymbolTable(){ var map = mutableMapOf<String, Entry>() var kindCounter = mutableMapOf<String, Int>() fun define(name:String, kind:String, type:String){ if(kindCounter[kind]==0){ kindCounter[kind]=0 } var index = 1 map[name]= Entry(type, kind, index) kindCounter[kind]=kindCounter[kind]!!.plus(1) } class Entry выглядит так: class Entry(var type:String, var kind:String, var index:Int) Главный: fun main(args:Array<String>){ var example = SymbolTable() example.define("ex1", "ex1", "ex1") […]