Como usar o operador Elvis e Force na linguagem Kotlin
Kotlin

Como usar o operador Elvis e Force na linguagem Kotlin





Nesse tutorial de Como usar o operador Elvis e Force na linguagem Kotlin vou então descrever sua utilidade na linguagem de programação.

Primeiramente vou falar que kotlin é uma linguagem que se usa muito esses dois operadores, pois sempre precisamos falar sobre variáveis e valores nulos e não nulos na maioria das linguagens de programação.

Para quem já viu um código em kotlin já deve ter visto no código ” !! ” ou ” ? “.

Então descrever os dois operadores e demonstrar um exemplo simples na linguagem de programação para cada um deles.





Operador Force

O operador force é o operador que trata as informações que não podem ser nulas, assim ele exige que as informações passadas com ele não sejam nulas.

O operador force é assim representado por dois pontos de exclamação ” !! ” logo após a função ou variável passada para garantir que seu valor não seja nulo.

Ele é muito utilizado quando se trabalha com a linguagem java e kotlin.

Exemplo:

fun getSize(str: String): Int {
    return str.size
}

val name: String? = "Rodrigo"

try{
    println(getSize(name!!))
}catch(e: Exception)
    println(e.toString)
}

O código acima tem uma função que retorna o tamanho da string, se for passado um valor nulo ele retornará uma exceção.





Operador Elvis

O operador Elvis é o aquele que trata das informações nulas, então é usado quando vai receber um valor nulo de uma função ou variável.

O operador Elvis é assim representado por um ponto de interrogação ” ? ” logo após a função ou variável passada para garantir que seu valor pode ser também um valor nulo.

Exemplo:

class PeriodClass {
    fun period(str: String): Period? {
        val now = LocalDate.now()
        val year = str.split("/")
        var date: LocalDate? = null
        try{
            date = LocalDate.of(year[2].toInt(),year[1].toInt(),year[0].toInt())
        }catch (e: Exception){
            Log.i("Erro data: ", e.toString())
            return null
        }
        val period = Period.between(date,now)
        Log.i("Period: ", period.toString())
        return period
    }
    fun checkPeriod(str: String): Boolean {
        return period(str) != null && period(str)!!.days >=0
    }
}

A função acima tenta assim verificar se uma data é válida se for anterior a hoje a partir de uma string, se a data não for válida a função vai retornar um valor nulo.

Enfim espero poder ter ajudado com mais este tutorial sobre Como usar o operador Elvis e Force na linguagem Kotlin para que você possa utilizar melhor as informações nulas e não nulas.

Então veja também:





Rodrigo Leutz
Desenvolvedor Web e Android ( Kotlin e Java )
https://uware.com.br