Segue formas nativas para criação de Array de BigDecimal:
// Devemos informar o tamanho do Array e então inicializá-lo com valores BigDecimal
val arrayBigDecimal = Array<BigDecimal>(size = 2) { BigDecimal.ZERO }
for (i in arrayBigDecimal.indices) arrayBigDecimal[i] = 123.toBigDecimal()
val arrayBigDecimal = arrayOf("123".toBigDecimal(), 1_250.toBigDecimal(), 1.234.toBigDecimal())
Podemos também desenvolver funções para realizar a criação desses Arrays, assim como existem para os primitivos da linguagem e assim como ensinado no curso:
fun bigDecimalArrayOf(vararg valores: String) : Array<BigDecimal> =
Array<BigDecimal>(valores.size) {
valores[it].toBigDecimal()
}
val arrayBigDecimal = bigDecimalArrayOf("123", "1250", "1.234")
Vale lembrar que quando estivermos fazendo a conversão de um Double ou Float para BigDecimal, devemos converter tais valores para String e então para BigDecimal, para que os problemas de imprecisão resultantes dessas Classes não afetem o nosso cálculo! Em Kotlin, ao converter um Double ou Float para BigDecimal, usando 1.23.toBigDecimal(), tais valores seram convertidos para String, automaticamente, e depois BigDecimal.
Espero ter ajudado :D
Tmj!