Reified позволяет сохранять информацию о дженерике во время выполнения, что делает возможным проверки типа (if (T is String)).
Используется только в inline-функциях, так как код подставляется во время компиляции, сохраняя информацию о типе.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2💊1
Anonymous Quiz
77%
data class User(val name: String, val age: Int = 0)
7%
data class User(val name: String, optional val age: Int)
2%
data class User(mandatory val name: String, val age: Int?)
14%
data class User(val name: String, var age: Int?)
Anonymous Quiz
22%
Использовать arrayOfNulls()
26%
Применить Array(size) { initialValue }
15%
Объявить массив через new Array()
36%
Использовать listOfNotNull()
- Parcelable — Android-специфичный интерфейс, требует ручной реализации, но работает быстрее и эффективнее.
Используй Parcelable в Android, особенно для передачи данных между компонентами.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Anonymous Quiz
66%
Определить функцию с ключевым словом operator
9%
Использовать аннотацию @operator
24%
Просто определить функцию с нужным именем
1%
Использовать интерфейс Operator
💊1
Anonymous Quiz
85%
Использовать as? и ?:
2%
Применить is и явное приведение
10%
Использовать try/catch блок с явным приведением
2%
Использовать функцию typeSafeCast
2. При восстановлении (в onRestoreInstanceState) установить сохранённую позицию через RecyclerView.scrollToPosition или ScrollView.scrollTo.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
Anonymous Quiz
35%
2
54%
3
6%
4
4%
5
Anonymous Quiz
42%
val myVar by lazy(LazyThreadSafetyMode.SYNCHRONIZED) { computeValue() }
57%
val myVar by lazy { computeValue() }
1%
lazy val myVar = { computeValue() }
0%
val myVar: Lazy = lazy { computeValue() }
💊4
LIMIT нужен для:
- ограничения количества строк, что повышает производительность.
- постраничной загрузки.
- снижения потребления памяти и ускорения UI при отображении больших выборок.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Anonymous Quiz
43%
true
38%
false
6%
null
12%
Ошибка компиляции
Anonymous Quiz
2%
5
95%
10
2%
8
2%
4
Он используется для итераций и проверки вхождения числа в диапазон.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Anonymous Quiz
21%
CyclicBarrier
37%
Semaphore
32%
CountDownLatch
10%
Exchanger
Anonymous Quiz
32%
Используя try-catch блок внутри каждой функции
37%
Применяя функцию runCatching и последующие вызовы onFail или onSuccess
15%
Вызывая функции внутри блока finally
16%
Ни один из перечисленных методов
💊1
Forwarded from Идущий к IT
🔥 Записал видос "Как за 3 минуты настроить Автоотклики на вакансии HeadHunter" больше не придется заниматься этой унылой рутиной
📺 Видео: https://youtu.be/G_FOwEGPwlw
Please open Telegram to view this post
VIEW IN TELEGRAM
Можно описать набор состояний, каждое из которых — отдельный подкласс sealed-класса. Это удобно для моделирования состояний UI, например: Loading, Success, Error. Все возможные состояния известны компилятору, что делает обработку безопасной.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Anonymous Quiz
37%
replace(K key, V oldValue, V newValue)
18%
update(K key, V newValue)
27%
set(K key, V newValue)
18%
putIfAbsent(K key, V newValue)
👍2
Anonymous Quiz
6%
[1, 2, 3, 4, 5]
61%
[1, 3, 5]
22%
[2, 4]
12%
[1, 2, 4, 5]
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1