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
typealiasem 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
}