Sobes.tech
Junior

Šta je 'alias' i kako ga koristiti u Kotlinu?

sobes.tech АИ

Одговор од АИ

alias u Kotlinu ne postoji kao odvojena rezervisana reč. Verovatno mislite na typealias.

typealias je način da date alternativno ime postojećem tipu. Ne kreira novi tip, već je samo pseudonim za već postojeći.

Prednosti korišćenja typealias:

  • Poboljšava čitljivost koda, posebno kada radite sa složenim ili dugim tipovima (npr. funkcije sa mnogo parametara ili generički tipovi).
  • Olakšava refaktorisanje. Ako se osnovni tip promeni, dovoljno je da izmenite definiciju typealias na jednom mestu.

Upotreba:

typealias se deklariše na nivou gornjeg nivoa fajla.

// Primer sa funkcijom
typealias ClickListener = (View, MotionEvent) -> Unit

// Primer sa generičkim
typealias StringList = List<String>

// Primer sa klasom
typealias UserName = String // Ne kreira novi tip String

// Upotreba
fun setOnClickListener(listener: ClickListener) {
    // ...
}

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

typealias može biti korišćen za:

  • Klase
  • Interfejse
  • Literale funkcija
  • Tipove sa generičkim
  • Anotacije

Važno je zapamtiti da je typealias samo pseudonim. Kotlin kompajler ga tretira kao osnovni tip. U generisanom bajtkodu koristi se osnovni tip.

Primer koji pokazuje da je to samo pseudonim:

typealias MyInt = Int

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

fun main() {
    val num: MyInt = 10
    receiveInt(num) // Može se proslediti MyInt tamo gde se očekuje Int
}