Ce funcții auxiliare cunoști sau ai folosit în experiența ta?
sobes.tech AI
Răspuns de la AI
-
Expresii lambda: Reducă codul pentru funcții mici, cum ar fi gestionarea clicurilor sau callback-uri.
-
Funcții de extensie (Kotlin): Adaugă funcții noi claselor existente fără moștenire, îmbunătățind lizibilitatea și comoditatea.
fun String.isPalindrome(): Boolean { // Verifică dacă șirul este palindrom return this == this.reversed() } -
Funcții inline (Kotlin): Inserează corpul funcției în locul apelului, reducând costurile de overhead pentru crearea obiectelor de funcție, util mai ales cu lambdas.
inline fun measureExecutionTime(block: () -> Unit) { // Măsoară timpul de execuție al blocului de cod val startTime = System.currentTimeMillis() block() val endTime = System.currentTimeMillis() println("Timp de execuție: ${endTime - startTime} ms") } -
Clase de date (Kotlin): Generează automat
equals(),hashCode(),toString(),copy(), util pentru stocarea datelor.data class User(val name: String, val age: Int) -
Clase sigilate (Kotlin): Reprezintă o ierarhie limitată de clase, utile pentru modelarea stărilor sau evenimentelor, mai ales în combinație cu
when. -
Generice: Permite crearea de componente reutilizabile care funcționează cu diferite tipuri de date.
public class Box<T> { // Clasă generică pentru stocarea oricărui tip de date private T data; public void setData(T data) { this.data = data; } public T getData() { return data; } } -
Operații cu colecții (map, filter, reduce și altele): Metode funcționale pentru procesarea colecțiilor de date.
val numbers = listOf(1, 2, 3, 4, 5) val squaredEvenNumbers = numbers .filter { it % 2 == 0 } // Filtrează pare .map { it * it } // Ridică la pătrat -
Getteri de resurse (Kotlin): Pentru obținerea de șiruri, culori, dimensiuni etc. din resurse.
val appName = context.getString(R.string.app_name) val primaryColor = ContextCompat.getColor(context, R.color.colorPrimary) -
Tipuri nullable și apeluri sigure (Kotlin): Reduc numărul de
NullPointerException.val name: String? = null val length = name?.length ?: 0 // Apel sigur și operator Elvis