Kuras palīgfunkcijas jūs zināt vai esat izmantojis savā pieredzē?
sobes.tech AI
Atbilde no AI
-
Lambdas izteiksmes: Saīsinās kodu mazām funkcijām-apstrādātājiem, piemēram, klikšķiem vai atpakaļzvaniem.
-
Extension Functions (Kotlin): Pievieno jaunas funkcijas esošajām klasēm bez to mantošanas, uzlabojot lasāmību un ērtību.
fun String.isPalindrome(): Boolean { // Pārbauda, vai virkne ir palindroms return this == this.reversed() } -
Inline Functions (Kotlin): Iekļauj funkcijas ķermeni vietā, kur tā tiek izsaukta, samazinot izveides izmaksas, īpaši ar lambda izteiksmēm.
inline fun measureExecutionTime(block: () -> Unit) { // Mēra izpildes laiku val startTime = System.currentTimeMillis() block() val endTime = System.currentTimeMillis() println("Izpildes laiks: ${endTime - startTime} ms") } -
Data Classes (Kotlin): Automātiski ģenerē
equals(),hashCode(),toString(),copy(), kas ir ērti datu glabāšanai.data class User(val name: String, val age: Int) -
Sealed Classes (Kotlin): Ierobežota mantošanas hierarhija, noderīga stāvokļu vai notikumu modelēšanai, īpaši ar
whenoperatoru. -
Generics: Ļauj izveidot atkārtoti lietojamas komponentes, kas darbojas ar dažādiem datu tipiem.
public class Box<T> { // Vispārējs klases veids datu glabāšanai private T data; public void setData(T data) { this.data = data; } public T getData() { return data; } } -
Operācijas ar kolekcijām (map, filter, reduce un citi): Funkcionālas metodes datu kolekciju apstrādei:
val numbers = listOf(1, 2, 3, 4, 5) val squaredEvenNumbers = numbers .filter { it % 2 == 0 } // Filtrē pāra skaitļus .map { it * it } // Pakļauj kvadrātam -
Resource getters (Kotlin): Lai iegūtu virknes, krāsas, izmērus un citus resursus:
val appName = context.getString(R.string.app_name) val primaryColor = ContextCompat.getColor(context, R.color.colorPrimary) -
Nullable types and safe calls (Kotlin): Samazina
NullPointerExceptionskaitu:val name: String? = null val length = name?.length ?: 0 // Droša izsaukšana un Elviss operators