我收到错误“不兼容的类型:Observable<List<Object>>
无法转换为 Observable<List<Anime>>
”
public Observable<List<Anime>> getOnlyAnimeObservable() {
List onlyAnimeList = getOnlyAnimeList();
if (onlyAnimeList == null) {
return Observable.just(Collections.emptyList()); //Required <List<Class>> But Found <List<Object>>
}
return Observable.just(onlyAnimeList); //Required <List<Class>> But Found <List>
}
如果我改变public Observable<List<List<Anime>> getOnlyAnimeObservable()
至
public Observable<List<Object>> getOnlyAnimeObservable()
return Observable.just(Collections.emptyList()); error solved but return Observable.just(onlyAnimeList); still shows error
同时如果我改public Observable<List<List<Anime>> getOnlyAnimeObservable()
至public Observable<List> getOnlyAnimeObservable()
return Observable.just(onlyAnimeList); error solved but return Observable.just(Collections.emptyList()); shows error.
最佳答案
这是因为Collections.emptyList()
返回List<Object>
。试试这个代码:
List<Anime> list = Collections.emptyList();
return Observable.just(list);
getOnlyAnimeList
方法还应该返回 List<Anime>
类型。所以完整的代码应该是:
public Observable<List<Anime>> getOnlyAnimeObservable() {
List<Anime> onlyAnimeList = getOnlyAnimeList();
if (onlyAnimeList == null) {
List<Anime> list = Collections.emptyList();
return Observable.just(list);
}
return Observable.just(onlyAnimeList);
}
我们可以简化一切:
public Observable<List<Anime>> getOnlyAnimeObservable() {
List<Anime> list = getOnlyAnimeList();
if (list == null) {
list = Collections.emptyList();
}
return Observable.just(list);
}
关于java - Observable<List<Object>> 无法转换为 Observable<List<Anime>>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53518272/