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