Как сравнивать элементы перечисления?
Компилятор преобразует экземпляры enum в static константы, которые к тому же являются singleton-ами. Поэтому, для сравнения можно использовать «==».
Все классы наследуются от java.lang.Enum. При этом все методы, кроме toStrng являются финальными. Поэтому, функция equals, также подходит для сравнения перечислений. Но, проще использовать оператор «==», так как:
- Чтобы не появилась ошибка NullPointerException, нужно удостовериться, что переменная, у которой вызывается метод equals, не null. С «==» таких сложностей нет.
- Если попытаться сравнивать объекты разных типов, оператор «==» предупредит, что такое сравнение невозможно. Функция equals в таком случае будет всегда выдавать false, такую ошибку обнаружить намного труднее.
Оператор «==» выполняется быстрее.
Peer-to-peer собеседования
Обучающая платформа AndroidSprint
Практика собеседований с менторами и другими студентами. Реальные вопросы по Kotlin, Android и Backend
- Живые собеседования: практикуйте интервью с менторами и коллегами-студентами
- Реальные вопросы: база вопросов по Kotlin, Android, Backend и QA
- Фидбек: обратная связь после каждого собеседования — знаете, что улучшить