Sobes.tech
Junior

O que é um 'alias' e como usá-lo em Kotlin?

sobes.tech IA

Resposta da IA

alias em Kotlin não existe como uma palavra reservada separada. Provavelmente, você quer dizer typealias.

typealias é uma forma de dar um nome alternativo a um tipo existente. Ele não cria um novo tipo, mas é simplesmente um pseudônimo para um tipo já existente.

Vantagens de usar typealias:

  • Melhorar a legibilidade do código, especialmente ao trabalhar com tipos complexos ou longos (por exemplo, funções com múltiplos parâmetros ou genéricos).
  • Simplificar a refatoração. Se o tipo base mudar, basta alterar a definição de typealias em um único lugar.

Uso:

typealias é declarado ao nível superior do arquivo.

// Exemplo com função
typealias ClickListener = (View, MotionEvent) -> Unit

// Exemplo com genérico
typealias StringList = List<String>

// Exemplo com classe
typealias UserName = String // Não cria um novo tipo String

// Uso
def setOnClickListener(listener: ClickListener) {
    // ...
}

val names: StringList = listOf("Alice", "Bob")

typealias pode ser usado para:

  • Classes
  • Interfaces
  • Literais de funções
  • Tipos com genéricos
  • Anotações

É importante lembrar que typealias é apenas um pseudônimo. O compilador Kotlin trata-o como seu tipo base. No código de bytecode gerado, é usado o tipo base.

Exemplo demonstrando que é apenas um pseudônimo:

typealias MyInt = Int

fun receiveInt(i: Int) {
    println("Received Int: $i")
}

fun main() {
    val num: MyInt = 10
    receiveInt(num) // Pode passar MyInt onde se espera um Int
}