Если эта переменная является собственностью, вы можете использовать либо lateinit
, либо Delegates.notNull()
.
private var lateinit iterator1: ListIterator<String>
private var iterator2: ListIterator<String> by Delegates.notNull()
Однако, если это локальная переменная, вы не можете оставить ее неинициализированной. Вы можете объявить его как val
и инициализировать его позже, но инициализация должна произойти во всех кодах.
val iterator: ListIterator<String>
// Do something.
iterator = list.listIterator()
Или вы можете сделать его обнуляемым, инициализировать null
, а затем присвоить ему значение.
var iterator: ListIterator<String>? = null
// Do something.
iterator = list.listIterator()
Может быть, вы могли бы описать проблему, которую вы пытаетесь решить более подробно? – miensol