В Kotlin (основном языке для Android) можно объявить переменную с деструктуризацией объекта, если класс поддерживает componentN функции.
Возможно ли объявить переменную val (first, second) с использованием объекта pair, где pair — это класс Pair<String, String>?
В Kotlin (основном языке для Android) можно объявить переменную с деструктуризацией объекта, если класс поддерживает componentN функции.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
В Kotlin (основном языке для Android) можно объявить переменную с деструктуризацией объекта, если класс поддерживает componentN функции.
Класс Pair<String, String> уже реализует эти функции, поэтому можно написать:
val pair = Pair("firstValue", "secondValue")
val (first, second) = pair
println(first) // firstValue
println(second) // secondValue
Таким образом, объявление val (first, second) = pair возможно и корректно, если pair — объект класса Pair<String, String>. Это удобный способ сразу получить доступ к элементам пары.