Я использую Array
необязательных значений, и я хочу, чтобы они оставались необязательными, но я не могу использовать конструктор по умолчанию Array
из-за проблем, описанных здесь .
Кроме того, уловка .also{}
, описанная в ссылке, не будет работать для меня, потому что моя не является массивом некоторого примитивного типа со своим собственным специальным классом WhateverArray
.
Есть ли какой-нибудь трюк Котлина, с помощью которого я могу инициализировать мой a
ниже?Или я должен прибегнуть к созданию списка и его преобразованию?
// please assume Stream<MyNonprimitiveType> magically gives me
// size() -> Int and
// next() -> MyNonprimitiveType
val stream : Stream<MyNonprimitiveType> = Stream<MyNonprimitiveType>()
val size : Int = stream.size()
val a : Array<MyNonprimitiveType> = ??? // use stream.next()