რა დამატებითი ფუნქციები იცით ან გამოიყენეთ თქვენს გამოცდილებაში?
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 // Қауіпсіз шақыру және Элвис операторы