Отличаются ли сокращенные и обычные операторы?
К сокращенным или как их официально называют операторам сложного присваивания относятся, например, *= или |=.
При их применении нужно учитывать один нюанс. Оператор x *= y эквивалентен x = (XType)(x + y). Таким образом при выполнении этих операторов происходит неявное приведение типов, к левому оператору.
var x = 2;
x += 0.5;
// Нет проблем, кроме того что значение не изменились (х == 2)!
// Полная запись раскрывает проблему: х – целое число, при downcasting-e потеряется информация
// тип должен быть приведен явно,
х = х + 0.5;
Required type: int
Provided: double
Портфолио из реальных проектов
Обучающая платформа AndroidSprint
Создавайте проекты с первых недель. Telegram-бот, Android-приложение, Backend API — всё на GitHub с тестами и CI/CD
- Проекты на GitHub: каждый трек даёт 3–5 работ для портфолио — показываете на собесах
- Код-ревью менторов: учитесь писать чисто и правильно — код не стыдно показать
- Production-качество: тесты, CI/CD, документация — как в продуктовых командах