Выбор ответа Middle Коллекции и последовательности обновлено
Сравнение массивов через ==
Вопрос
Что выведет println(arrayOf(1, 2) == arrayOf(1, 2))?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: false. Для массивов == вызывает equals, а у массивов на JVM он не переопределён и сравнивает ссылки.
Варианты ответа
true- Ошибка компиляции
- Зависит от JVM
falseправильный ответ
Разбор
Для массивов == вызывает equals, а у массивов на JVM он не переопределён и сравнивает ссылки. Это два разных объекта, поэтому false. Для сравнения содержимого есть contentEquals, для вложенных массивов contentDeepEquals. У списков == сравнивает содержимое, поэтому listOf(1, 2) == listOf(1, 2) даст true.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.