1
resposta

Como retornar um booleano no set?

Bom dia galera. Quero usar o set que o próprio Kotlin me fornece, mas gostaria de retornar um Boolean. Nesse caso, se eu quiser que o set tenha algum retorno, devo explicitamente criar o setX?

1 resposta

Olá Olmir!

No Kotlin, quando você utiliza a propriedade set, você pode retornar um booleano dentro do bloco de código do set para indicar se a atribuição do valor foi bem-sucedida ou não. Não é necessário criar um método setX explicitamente.

Por exemplo, suponha que você tenha uma classe Pessoa com uma propriedade idade. Você pode definir o set da propriedade idade da seguinte forma:

var idade: Int = 0
    set(value) {
        if (value >= 0) {
            field = value
            return true
        } else {
            return false
        }
    }

Nesse exemplo, se o valor atribuído à propriedade idade for maior ou igual a zero, ele será atribuído à variável field (que é o valor real da propriedade) e o set retornará true. Caso contrário, o set retornará false.

Dessa forma, ao atribuir um valor à propriedade idade, você pode verificar se a atribuição foi bem-sucedida ou não. Por exemplo:

val pessoa = Pessoa()
val atribuicaoBemSucedida = pessoa.idade = 25
if (atribuicaoBemSucedida) {
    println("Idade atribuída com sucesso!")
} else {
    println("Idade inválida!")
}

Espero ter ajudado e bons estudos!