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)
6%
data class User(val name: String, optional val age: Int)
4%
data class User(mandatory val name: String, val age: Int?)
14%
data class User(val name: String, var age: Int?)
Anonymous Quiz
23%
Использовать arrayOfNulls()
29%
Применить Array(size) { initialValue }
13%
Объявить массив через 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
22%
Просто определить функцию с нужным именем
3%
Использовать интерфейс Operator
💊1
Anonymous Quiz
85%
Использовать as? и ?:
3%
Применить is и явное приведение
8%
Использовать try/catch блок с явным приведением
4%
Использовать функцию typeSafeCast
2. При восстановлении (в onRestoreInstanceState) установить сохранённую позицию через RecyclerView.scrollToPosition или ScrollView.scrollTo.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍2
Anonymous Quiz
30%
2
61%
3
5%
4
4%
5
Anonymous Quiz
36%
val myVar by lazy(LazyThreadSafetyMode.SYNCHRONIZED) { computeValue() }
59%
val myVar by lazy { computeValue() }
3%
lazy val myVar = { computeValue() }
2%
val myVar: Lazy = lazy { computeValue() }
💊4
LIMIT нужен для:
- ограничения количества строк, что повышает производительность.
- постраничной загрузки.
- снижения потребления памяти и ускорения UI при отображении больших выборок.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
Anonymous Quiz
45%
true
38%
false
6%
null
11%
Ошибка компиляции
Anonymous Quiz
2%
5
95%
10
1%
8
1%
4
Он используется для итераций и проверки вхождения числа в диапазон.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
Anonymous Quiz
21%
CyclicBarrier
40%
Semaphore
28%
CountDownLatch
11%
Exchanger
Anonymous Quiz
37%
Используя try-catch блок внутри каждой функции
36%
Применяя функцию runCatching и последующие вызовы onFail или onSuccess
13%
Вызывая функции внутри блока finally
14%
Ни один из перечисленных методов
💊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
🔥2
Anonymous Quiz
40%
replace(K key, V oldValue, V newValue)
21%
update(K key, V newValue)
24%
set(K key, V newValue)
15%
putIfAbsent(K key, V newValue)
👍2
Anonymous Quiz
7%
[1, 2, 3, 4, 5]
66%
[1, 3, 5]
20%
[2, 4]
8%
[1, 2, 4, 5]
👍2
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
Anonymous Quiz
85%
Объявить класс как final
10%
Объявить все методы класса как private
4%
Использовать модификатор sealed
2%
Использовать @Final аннотацию