tgoop.com/android_live/872
Last Update:
Равенство объектов в Java и Kotlin
#kotlin
Попалась интересная статья, где рассматриваются отличия в работе функций проверки на равенство в двух языках.
Наиболее интересно посмотреть на кейсы, где разные подходы к проверке на равенство могут привести к плохим результатам.
Например, в Java надо быть внимательным при наследовании одного объекта от другого и их дальнейшего сравнения: в этом случае не равные по сути объекты могут оказаться равными по функции equals()
. Любопытен и тот факт, что функция сравнения часто может оказаться менее производительной, чем кажется на первый взгляд.
В Kotlin было интересно посмотреть про кейс использования массивов в data-классах.
Пара выводов из этой статьи:
1️⃣ Проверьте, можно ли обойтись без переопределения функций equals/hashCode. Это может помочь в производительности сравнения функций.
2️⃣ Если надо использовать сравнение, то лучше воспользоваться data-классами. Но не стоит использовать их повсюду, ведь при это генерируется много вспомогательных функций, которые влияют на вес приложения.
3️⃣ Если не получается использовать принцип Composition over inheritance, то проверьте правильность использования функций equals в абстрактном и наследуемом классах.
BY Android Live 🤖

Share with your friend now:
tgoop.com/android_live/872