Кадом функсияҳои ёрирасонро медонед ё истифода бурдаед дар таҷрибаи худ?
sobes.tech AI
Ҷавоб аз AI
-
Лямбда-изрази: Скорочують код для невеликих функцій-обробників, наприклад, кліків або зворотних викликів.
-
Extension Functions (Kotlin): Додають нові функції до існуючих класів без їх наслідування, покращуючи читабельність і зручність.
fun String.isPalindrome(): Boolean { // Перевіряє, чи є рядок паліндромом return this == this.reversed() } -
Inline Functions (Kotlin): Вбудовують тіло функції у місце виклику, зменшуючи накладні витрати на створення об'єкта функції, особливо корисно з лямбдами.
inline fun measureExecutionTime(block: () -> Unit) { // Вимірює час виконання блоку коду val startTime = System.currentTimeMillis() block() val endTime = System.currentTimeMillis() println("Час виконання: ${endTime - startTime} ms") } -
Data Classes (Kotlin): Автоматично генерують
equals(),hashCode(),toString(),copy(), що зручно для зберігання даних.data class User(val name: String, val age: Int) -
Sealed Classes (Kotlin): Представляють обмежену ієрархію класів, корисні для моделювання станів або подій, особливо у поєднанні з оператором
when. -
Generics: Дозволяють створювати повторно використовувані компоненти, що працюють з різними типами даних.
public class Box<T> { // Узагальнений клас для зберігання будь-якого типу даних private T data; public void setData(T data) { this.data = data; } public T getData() { return data; } } -
Операції з колекціями (map, filter, reduce і ін.): Функціональні методи для обробки колекцій даних.
val numbers = listOf(1, 2, 3, 4, 5) val squaredEvenNumbers = numbers .filter { it % 2 == 0 } // Фільтрація парних .map { it * it } // Піднесення до квадрату -
Resource getters (Kotlin): Для отримання рядків, кольорів, розмірів і т.д. з ресурсів.
val appName = context.getString(R.string.app_name) val primaryColor = ContextCompat.getColor(context, R.color.colorPrimary) -
Nullable types and safe calls (Kotlin): Зменшують кількість
NullPointerException.val name: String? = null val length = name?.length ?: 0 // Безпечний виклик і оператор Елвіса