Kotlinautas
Esse conteúdo é oferecido e distribuído pela comunidade Kotlinautas, uma comunidade brasileira que busca oferecer conteúdo gratuito sobre a linguagem Kotlin em um espaço plural.
O quê é Null Safety?
Kotlin é uma linguagem que utiliza vários recursos de outras linguagens, e também melhoramentos, principalmente em relação ao Java.
Muitas pessoas que já programaram Java, tiveram problemas bem chatos envolvendo NullPointerExeception, que é um erro que ocorre quando tentamos usar uma propriedade de uma classe que tem seu valor como null
.
A linguagem Kotlin tenta ao máximo evitar esse tipo de problema. Adicionando garantias que o seu código DEVE ser seguro á erros envolvendo instâncias de classes, variáveis, propriedades,etc. que podem ser nulas.
Para poder utilizar uma propriedade que pode ser nula, é necessário ou fazer o tratamento caso essa variável seja um erro, ou usando !!
para dizer ao Kotlin que você tem certeza que não terá nenhum erro relacionado. Como no exemplo abaixo:
val nome = usuario!!.nome
- No exemplo acima,
usuario
pode ser uma variável nula, e por conta disso foi usado o símbolo!!
, deixando claro ao Kotlinque temos certeza que essa variável não énull
. Caso sejanull
, um erro vai ser lançado.
Podemos também como foi citado acima, tratar esse erro, buscando evitar o problema de termos um erro indesejado na nossa aplicação. E esse tratamento pode ser feito usando Elvis Operator
O quê é Elvis Operator?
Elvis Operator (?:) é um operador que podemos usar junto da propriedade ou variável que pode ter null como seu valor. da seguinte maneira:
repositorioPostagem.encontrar(10) ?:
- Usamos um exemplo comum, um sistema onde precisamos pegar uma postagem (ou qualquer outro item que está guardado dentro do banco de dados), e caso essa postagem com esse ID
10
não seja encontrada, iremos usar o tratamento no Elvis Operator (que por enquanto não existe) -
Elvis Operator tem esse formato de
?:
por conta que parece com o cabelo do Elvis Presley.
A expressão á direita do Elvis Operator representa o quê vamos fazer caso essa propriedade ou variável seja nula. Podemos por exemplo, retornar a função:
fun pegarTituloDaPostagem(id: Int): String {
return repositorioPostagem.encontrar(id).titulo ?: return "postagem não encontrada"
}
- Temos uma função que irá retornar o título de uma postagem. Caso a postagem não seja encontrada, a postagem será
null
, com isso o Elvis Operator irá fazer que a stringpostagem não encontrada
seja retornada, pois não há nenhuma postagem relacionada com esse ID.
Esse exemplo é simples, mas há situações em que é realmente necessário usar um Elvis Operator para garantir que o seu código não vai dar nenhum erro inesperado, pois como o próprio nome diz, não tem como planejar quando um erro inesperado irá acontecer.
Finalização
Neste artigo você aprendeu como utilizar o Elvis Operator para tornar seu código mais legível e com melhor tratamento de erros. Evitando erros inesperados, deixando sua aplicação mais resiliente.
Muito obrigada por ler ❤️🏳️⚧️ e me segue nas redes, é tudo @lissatransborda 👀
Top comments (1)
A cada artigo que eu leio da comunidade Kotlinautas mais vontade de aprender Kotlin eu tenho. Elvis é simplesmente o melhor nome de operador que eu já vi até agora!