簡體   English   中英

在RxJava 2中的Observable中發出String數組時出現“不兼容類型”錯誤

[英]'Incompatible type' error in emitting a String array in an Observable in RxJava 2

在這里問一個非常基本的RxJava問題,因為我在其他任何地方都找不到。

我在RxJava 2中有這個Observable-

Observable<String> database = Observable.just("1", "2", "3");

工作正常。 沒問題。

但是當我嘗試傳遞這樣的數組時-

arr = new String[]{"1", "2", "3"};
Observable<String> database = Observable.just(arr);

對於不兼容的類型,它將引發錯誤。

  1. 第二個聲明與第一個聲明不一樣嗎? 如果沒有,為什么?

  2. 我需要一種方法來發出預定義的數組,並且在Observer的onNext上,我應該獲取數組的各個項目。 如何實現呢?

第二個聲明與第一個聲明不一樣嗎? 如果沒有,為什么?

否。Java的類型系統區分了普通類型和這些類型的數組:

String s = new String("whatever")

String z = new String[0]; // <--------- compile error

String[]不是單個String類型。

該方法just被定義如下:

Observable<T> just(T item);

如果我們用T = String替代,您將獲得Observable<String> just(String item)的簽名。

如果我們用T = String[]代替,那會得到什么呢? Observable<String[]> just(String[] item)

我需要一種方法來發出預定義的數組,並且在Observer的onNext上,我應該獲取數組的各個項目。 如何實現呢?

使用fromArray因為它被定義為Observable<T> fromArray(T[] array)

Observable<String> database = Observable.fromArray(arr);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM