在使用RxJava开发的时候有时会遇到类似Cannot resolve method 'subscribe(anonymous io.reactivex.Observer)'的错误提示。
咋一看subscribe订阅代码并没有什么问题,但是编辑器一直提示错误。

解决方案

其实这是我们在create的时候使用了lambda表达式的缘故。
使用lambda并没有什么问题,问题在于使用lambda表达式的时候,subscribe订阅代码我们可能并没有写,这时使用lambda后代码就变成这样:

emitter -> {try {Thread.sleep(2000); // 假设此处是耗时操作} catch (Exception e) {e.printStackTrace();emitter.onError(new RuntimeException());}emitter.onNext(true);}

而在我们写完了subscribe代码后,再使用lambda转换,代码就变成:

(ObservableOnSubscribe<Boolean>) emitter -> {try {Thread.sleep(2000); // 假设此处是耗时操作} catch (Exception e) {e.printStackTrace();emitter.onError(new RuntimeException());}emitter.onNext(true);}

可以看到多了一个ObservableOnSubscribe,这是对T类型的确定。

所以一般我们使用RxJava时,如果要使用lambda表达式,需要在subscribe订阅内容完成后再进行统一转换。转换一般我们使用编辑器帮我们自动转换,windows中快捷键是alt + enter:

Cannot resolve method ‘subscribe(anonymous io.reactivex.Observer<xxx>)‘的解决方案相关推荐

  1. Cannot Resolve method subscribe(anonymous org.reactivestreams.Subscriber 已解决

    使用Rxjava2 出现错误: Cannot Resolve method 'subscribe(anonymous org.reactivestreams.Subscriber<Model N ...

  2. Rxjava源码分析之IO.Reactivex.Observer

    Android 中的观察者模式,Rxjava中有两个重要的类Observable和Observer,函数响应式编程具体表现为一个观察者(Observer)订阅一个可观察对象(Observable).通 ...

  3. idea 提示Cannot resolve method 'setAttribute(java.lang.String, java.lang.String)解决方案

    是由于创建了web应用但是没有导入jsp的原因 找到tomcat安装的路径在Lib目录下找到 jsp-api 与 servlet -api然后导入即可

  4. Rxjava源码分析之IO.Reactivex.Observable

    Rxjava 源码系列目录 Rxjava源码分析之IO.Reactivex.Observer Rxjava源码分析之IO.Reactivex.CompositeDisposable Rxjava源码分 ...

  5. Rxjava源码分析之IO.Reactivex.CompositeDisposable

    Rxjava 源码系列目录 Rxjava源码分析之IO.Reactivex.Observer Rxjava源码分析之IO.Reactivex.CompositeDisposable Rxjava源码分 ...

  6. Cannot resolve method addSource

    原始代碼如下: ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment(); BatchTableEnviron ...

  7. rx.xxx 和 io.reactivex.xxx RxJava1 和 RxJava2 和 RxJava3

    在使用RxJava想要创建一个Observable,导入包的时候发现 发现怎么这么多,我该选哪个? 上图  1位置的io.reactivex是代表了Rxjava2里面的Observable;    2 ...

  8. io.reactivex.exceptions.UndeliverableException

    io.reactivex.exceptions.UndeliverableException:java.net.UnknownHostException: Unable to resolve host ...

  9. NoClassDefFoundError io.reactivex.Flowable

    各路宝宝都看看这个异常: java.lang.NoClassDefFoundError: io.reactivex.Flowableat io.reactivex.Observable.bufferS ...

最新文章

  1. easyUI样式之easyui-switchbutton
  2. 「WC2018」即时战略
  3. 查看linux系统的性能
  4. 关于后缀自动机的总结
  5. mysql 创建师徒_mysql基础整理
  6. mpls标签分配原理——Vecloud
  7. 一文一起,学习功能强大的Java8新StreamAPI,让集合的操作得心应手
  8. MySQL中update一条record的过程
  9. C语言中的正负数及其输出
  10. Windows下断言的类型及实现
  11. 大佬 | 从啥也不会,到Java大佬,他就因为会了这一门绝技
  12. python xpath循环_Python爬虫 爬取北京二手房数据
  13. 基于共享内存和多重哈希实现分布式缓存系统
  14. 计算机一级在线模拟试题,全国计算机等级考试一级模拟试题及答案解析
  15. lnmp一键安装远程连接mysql_阿里云 lnmp一键安装包远程访问Mysql
  16. 【案例】CRM客户管理系统的登录模型
  17. SOME/IP与DDS对比及DDS测试策略和方案探讨
  18. 如何制作GIF表情包,GIF怎么做
  19. 2021年中国金针菇供需现状及竞争格局分析,上半年行业整体盈利水平降低「图」
  20. win10打开软件中文乱码怎么修复

热门文章

  1. excel排名_表格技巧—如何在Excel中快速计算排名
  2. 头条小程序 button组件 设置边框问题
  3. C++实现模重复平方计算法
  4. 解题报告Best Time to Buy and Sell Stock with Cooldown
  5. 热修复 原理与实现详解
  6. Windows程序的生与死
  7. 录制失败因为媒体服务失败_杨丽萍62岁被判人生失败,因为她一生无子女.........
  8. shell中的$IFS变量和$*
  9. CSS滤镜实现鼠标悬停图片变黑白(灰色)
  10. ES8311 - 音频编解码芯片调试