Welke hulpfuncties ken je of heb je in je ervaring gebruikt?
sobes.tech AI
Antwoord van AI
-
Lambda-uitdrukkingen: Verkorten de code voor kleine functies zoals klik- of callbackhandlers.
-
Extension functies (Kotlin): Voeg nieuwe functies toe aan bestaande klassen zonder er van te erven, wat de leesbaarheid en het gemak verbetert.
fun String.isPalindrome(): Boolean { // Controleert of de string een palindroom is return this == this.reversed() } -
Inline functies (Kotlin): Plaatst de body van de functie op de plaats van de aanroep, vermindert overhead bij het maken van functie-objecten, vooral handig met lambdas.
inline fun measureExecutionTime(block: () -> Unit) { // Meet de uitvoeringstijd van de codeblok val startTime = System.currentTimeMillis() block() val endTime = System.currentTimeMillis() println("Uitvoertijd: ${endTime - startTime} ms") } -
Data klassen (Kotlin): Genereren automatisch
equals(),hashCode(),toString(),copy(), handig voor gegevensopslag.data class User(val name: String, val age: Int) -
Gesloten klassen (Kotlin): Beperkte klassehiërarchie, handig voor het modelleren van toestanden of gebeurtenissen, vooral in combinatie met
when. -
Generics: Maken het mogelijk om herbruikbare componenten te creëren die werken met verschillende datatypes.
public class Box<T> { // Generieke klasse voor het opslaan van elk datatype private T data; public void setData(T data) { this.data = data; } public T getData() { return data; } } -
Operaties met collecties (map, filter, reduce, etc.): Functionele methoden voor het verwerken van datacollecties.
val numbers = listOf(1, 2, 3, 4, 5) val squaredEvenNumbers = numbers .filter { it % 2 == 0 } // Filter even .map { it * it } // Kwadrateer -
Resource-getters (Kotlin): Voor het verkrijgen van strings, kleuren, groottes, etc. uit resources.
val appName = context.getString(R.string.app_name) val primaryColor = ContextCompat.getColor(context, R.color.colorPrimary) -
Nullable types en veilige aanroepen (Kotlin): Vermindert
NullPointerException-aantallen.val name: String? = null val length = name?.length ?: 0 // Veilige aanroep en Elvis-operator