TGViewer
Android Live 🤖 Android Live 🤖 @android_live · 5.12K subscribers
Post #1044 4.97K
Data Object
#kotlin

С недавних пор IDEA (а именно с Kotlin 1.9) начала подчёркивать традиционный object и рекомендует заменить его на странный data object. Что за зверь такой и что он нам даёт? Давайте разберёмся.

При использовании sealed class или sealed interface мы могли добавлять разные стейты внутри его. Они могли быть как data class, так и object. Например:


sealed interface ProfileScreenState {
data class Success(val username: String): ProfileScreenState
object Error: ProfileScreenState
object Loading: ProfileScreenState
}


Однако, если мы захотели бы вывести результат в лог, то с data class все получилось бы хорошо, а вот с object — не очень: мы бы увидели только адреса, например:


com.dataobjects.example.ProfileScreenState$Loading@6d03e736
Success(username=exampleUser1)
com.dataobjects.example.ProfileScreenState$Error@5fd0d5ae


Можно было бы обмазаться старым добрым toString() для каждого объекта, но вместо этого — самое время использовать data object, где эта проблема полностью решена.

Хоть обновление и минорное, но заметно добавляет удобства при работе с подобными классами. 🔥
  • 👍 34
  • ❤ 4
  • 👌 2
More from @android_live
  1. Sep 26, 2026AirDrop на Android, похоже, уже есть на нескольких моделях Android Но, оказывается, всё эт…
  2. Sep 25, 2026Похоже, есть что посмотреть на выходных Недавно вышло интервью с Женей Вороновым Jake Whar…
  3. Sep 15, 2026Google выкатили ARTEMIS Эта инструмент, который превращает обычный текст в реальные действ…
  4. Sep 14, 2026Кстати, вчера забыл про очень важный день... День погонщиков нейронок программиста! С наши…
  5. Sep 11, 2026Новый iPhone вышел на днях, вы помните? Наверное, самым ярким вау-эффектом после презентац…
  6. Sep 1, 2026Про Encrypted Client Hello На днях Google выпустил отличную новость для любителей шапочки…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →