Não entendi galera. Fiz uma cópia do BancoDeNomes() para váriável nomesSalvos. Chamei o metodo banco.salvar("Alex") e acrecentei um item na lista.
Ao imprimir eu tenho o seguinte resultado:
nomes salvos []
banco de nomes [Alex]
Pergunta: Fiz a cópia antes de acrescentar o item na lista, eu não entedi pq o lista de nomesSalvos veio vazia.
fun main() {
val banco = BancoDeNomes()
val nomesSalvos:Collection<String> = banco.nomes
banco.salvar("Alex")
println("nomes salvos $nomesSalvos")
println("banco de nomes ${BancoDeNomes().nomes}")
}
class BancoDeNomes() {
val nomes: Collection<String> get() = dados.toList()
fun salvar(value:String){
dados.add(value)
}
companion object{
private val dados = mutableListOf<String>()
}
}