Observable.fromArray
немного отличается, скажем, от fromIterable
. Он не принимает фактический массив, но вместо этого он принимает аргументы vararg. Вот его подпись:
public static <T> Observable<T> fromArray(T... items)
То есть, если его так назвать, вы получите Observable
, содержащий один элемент, и он будет иметь тип Observable<Array<String>>
:
val places: Array<String> = arrayOf("Singapore", "Japan", "Norway")
val observable: Observable<Array<String>> = Observable.fromArray(places)
То, что вы ищете, Observable<String>
, может быть создано так:
val observable: Observable<String> = Observable.fromArray("Singapore", "Japan", "Norway")
Или, если у вас есть существующий массив, используйте оператор распространения :
val places: Array<String> = arrayOf("Singapore", "Japan", "Norway")
val observable: Observable<String> = Observable.fromArray(*places)