Ответ
Для преобразования данных внутри одного потока используйте оператор map() из Kotlin Flow или RxJava.
Kotlin Flow:
flowOf(1, 2, 3)
.map { it.toString() } // Int → String
.collect { println(it) }
RxJava:
Observable.just(1, 2, 3)
.map { it.toString() } // Int → String
.subscribe { println(it) }
Особенности:
- Работает синхронно, если преобразование быстрое.
- Для тяжелых операций используйте
flowOn()(Flow) илиsubscribeOn()(RxJava). - Не блокирует поток, если операция не CPU-intensive.