Sobes.tech
Junior

Co je to 'alias' a jak ho používat v Kotlinu?

sobes.tech AI

Odpověď od AI

V Kotlinu neexistuje alias jako samostatné rezervované slovo. Pravděpodobně máte na mysli typealias.

typealias je způsob, jak dát existujícímu typu alternativní jméno. Nevytváří nový typ, pouze je pseudonymem pro již existující.

Výhody používání typealias:

  • Zlepšuje čitelnost kódu, zejména při práci s složitými nebo dlouhými typy (například funkce s mnoha parametry nebo generiky).
  • Zjednodušuje refaktoring. Pokud se základní typ změní, stačí upravit definici typealias na jednom místě.

Použití:

typealias se deklaruje na úrovni souboru.

// Příklad s funkcí
typealias ClickListener = (View, MotionEvent) -> Unit

// Příklad s generikou
typealias StringList = List<String>

// Příklad s třídou
typealias UserName = String // Nevytváří nový typ String

// Použití
fun setOnClickListener(listener: ClickListener) {
    // ...
}

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

typealias lze použít pro:

  • Třídy
  • Rozhraní
  • Funkcionální literály
  • Typy s generiky
  • Anotace

Je důležité si pamatovat, že typealias je pouze pseudonym. Kotlin kompilátor s ním zachází jako s základním typem. V generovaném bytekódu je použit základní typ.

Příklad, který ukazuje, že je to pouze pseudonym:

typealias MyInt = Int

fun receiveInt(i: Int) {
    println("Přijaté Int: $i")
}

fun main() {
    val num: MyInt = 10
    receiveInt(num) // Můžete předat MyInt tam, kde se očekává Int
}