Sobes.tech
Junior

Milyen segédfunkciókat ismersz vagy használtál a tapasztalatod során?

sobes.tech MI

Válasz az MI-től

  • Lambdák: Rövidítik a kódot kis függvényekhez, például kattintásokhoz vagy callback-ekhez.

  • Kiterjesztő függvények (Kotlin): Új funkciókat adnak meglévő osztályokhoz öröklés nélkül, javítva az olvashatóságot és a kényelmet.

    fun String.isPalindrome(): Boolean {
        // Ellenőrzi, hogy a sztring palindróma-e
        return this == this.reversed()
    }
    
  • Inline függvények (Kotlin): Beágyazzák a függvény törzsét a hívás helyére, csökkentve a függvényobjektum létrehozásának költségét, különösen lambdákkal.

    inline fun measureExecutionTime(block: () -> Unit) {
        // Mérjük a kódblokk végrehajtási idejét
        val startTime = System.currentTimeMillis()
        block()
        val endTime = System.currentTimeMillis()
        println("Végrehajtási idő: ${endTime - startTime} ms")
    }
    
  • Adat osztályok (Kotlin): Automatikusan generálják az equals(), hashCode(), toString(), copy() metódusokat, hasznos adatok tárolásához.

    data class User(val name: String, val age: Int)
    
  • Lezárt osztályok (Kotlin): Korlátozott osztályhierarchiát képviselnek, hasznosak állapotok vagy események modellezéséhez, különösen a when-nal.

  • Generikus típusok: Lehetővé teszik újrahasznosítható komponensek létrehozását, amelyek különböző adat típusokkal működnek.

    public class Box<T> {
        // Általános osztály bármilyen adat típus tárolására
        private T data;
    
        public void setData(T data) {
            this.data = data;
        }
    
        public T getData() {
            return data;
        }
    }
    
  • Gyűjtemények műveletei (map, filter, reduce stb.): Funkcionális módszerek adathalmazok feldolgozására.

    val numbers = listOf(1, 2, 3, 4, 5)
    val squaredEvenNumbers = numbers
        .filter { it % 2 == 0 } // Páros szűrése
        .map { it * it }      // Négyzetre emelés
    
  • Erőforrás lekérők (Kotlin): Szövegek, színek, méretek stb. lekérése erőforrásokból.

    val appName = context.getString(R.string.app_name)
    val primaryColor = ContextCompat.getColor(context, R.color.colorPrimary)
    
  • Nullable típusok és biztonságos hívások (Kotlin): Csökkentik a NullPointerException-ek számát.

    val name: String? = null
    val length = name?.length ?: 0 // Biztonságos hívás és Elvis operátor