Kotlin: O operador “Elvis” vem em nosso socorro.

O operador Elvis tem esse nome porque é um Smiley famoso representando aquele cantor.

Mas ele é também um economizador de código fabuloso.

O código a seguir, de 2 linhas, pode ser substituído por uma linha só, usando o Elvis:

Código Original:
val telefone = promptStringAllowEmpty(“Telefone atual ‘${l.telefone}’ – novo: “)
if (telefone != null && telefone.isNotEmpty()) l.telefone = telefone
if (telefone == null) l.telefone = “+5521987530729”

Novo código:

l.telefone = telefone?.ifEmpty { l.telefone } ?: “+5521987530729”

Um comentário

  1. hali.omani said:

    Quero alterar a linha abaixo de maneira bem suscinta para que o isbn só apareça se não for nul, ou “0”. Posso usar o operador Elvis ?

    println(“[${“%3d”.format(l.id)}] ${l.autor}: ‘${l.titulo}’. ${l.ano}. Isbn: ${l.isbn}. Valor: R$ ${“%.2f”.format(l.valor)}.”)

    O ChatGpt me deu, dentre várias, uma opção ultra compacta e perfeitamente funcional:

    println(“[${“%3d”.format(l.id)}] ${l.autor}: ‘${l.titulo}’. ${l.ano}.” +
    (l.isbn?.takeIf { it != “0” }?.let { ” Isbn: $it.” } ?: “”) +
    ” Valor: R$ ${“%.2f”.format(l.valor)}.”)

    24 de novembro de 2025
    Reply

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *