Skip to content

Latest commit

 

History

History
49 lines (31 loc) · 1013 Bytes

operador-elvis.md

File metadata and controls

49 lines (31 loc) · 1013 Bytes

Operador Elvis

O que é?

Como usar?

  • Se a expressão à esquerda de ?: não for null, o operador elvis o retorna, caso contrário, ele retorna a expressão à direita.

  • Exemplo: if-else

    val nome: String? = "Gabriel"
    
    val comprimento: Int = if (nome != null) nome.length else 0
  • Exemplo: ?:

    val nome: String? = "Gabriel"
    
    val comprimento: Int = nome?.length ?: 0

OBS

?: + throw/return

  • Como throw e return são expressões em Kotlin, elas também podem ser usadas no lado direito do operador elvis.

  • Exemplo: return

    fun getNome(pessoa: Pessoa) {
      val nome = pessoa.getNome ?: return null
    }
    
  • Exemplo: throw

    fun getNome(pessoa: Pessoa) {
      val nome = pessoa.getNome ?: throw IllegalArgumentException()
    }