Təcrübənizdə bildiyiniz və ya istifadə etdiyiniz köməkçi funksiyalar hansılardır?
sobes.tech Süni İntellekt
AI-dan cavab
-
Lambda ifadələri: Kiçik funksiyalar üçün kodu qısaldır, məsələn, kliklər və ya geri çağırışlar.
-
Genişləndirmə funksiyaları (Kotlin): Mövcud siniflərə yeni funksiyalar əlavə edir, irs almaq olmadan, oxumağı və rahatlığı artırır.
fun String.isPalindrome(): Boolean { // Sətirin palindrom olub olmadığını yoxlayır return this == this.reversed() } -
Inline funksiyalar (Kotlin): Funksiya bədənini çağırış yerinə yerləşdirir, bu da lambda ilə işləyərkən obyekt yaratma xərclərini azaldır.
inline fun measureExecutionTime(block: () -> Unit) { // Kod blokunun icra vaxtını ölçür val startTime = System.currentTimeMillis() block() val endTime = System.currentTimeMillis() println("İcra vaxtı: ${endTime - startTime} ms") } -
Məlumat sinifləri (Kotlin):
equals(),hashCode(),toString(),copy()funksiyalarını avtomatik yaradır, məlumatların saxlanması üçün əlverişlidir.data class User(val name: String, val age: Int) -
Qapalı siniflər (Kotlin): Sinif hierarhiyasını məhdudlaşdırır, vəziyyət və ya hadisələri modelləşdirmək üçün faydalıdır, xüsusən
whenilə. -
Generics: Fərqli məlumat tipləri ilə işləyən yenidən istifadə edilə bilən komponentlər yaratmağa imkan verir.
public class Box<T> { // Hər hansı məlumat tipini saxlamaq üçün ümumi sinif private T data; public void setData(T data) { this.data = data; } public T getData() { return data; } } -
Kolleksiyalar üzərində əməliyyatlar (map, filter, reduce və s.): Məlumat kolleksiyalarını işləmək üçün funksional metodlar.
val numbers = listOf(1, 2, 3, 4, 5) val squaredEvenNumbers = numbers .filter { it % 2 == 0 } // Cütləri filtrləyir .map { it * it } // Kvadratını alır -
Resurslar üçün getterlər (Kotlin): Stringlər, rənglər, ölçülər və s. resurslardan almaq üçün.
val appName = context.getString(R.string.app_name) val primaryColor = ContextCompat.getColor(context, R.color.colorPrimary) -
Nullable tiplər və təhlükəsiz çağırışlar (Kotlin):
NullPointerExceptionsayını azaldır.val name: String? = null val length = name?.length ?: 0 // Təhlükəsiz çağırış və Elvis operatoru