【问题标题】:Create ReactiveX observable in Java 6 without lambda expression在没有 lambda 表达式的 Java 6 中创建 ReactiveX observable
【发布时间】:2016-03-25 10:34:46
【问题描述】:

我找到了一个如何创建可观察对象 (ReactiveX) 的示例:

static Observable<Integer> getDataSync(int i) {
        return Observable.create((Subscriber<? super Integer> s) -> {
            // simulate latency
                try {
                    Thread.sleep(1000);
                } catch (Exception e) {
                    e.printStackTrace();
                }
                s.onNext(i);
                s.onCompleted();
            });
    }

但是我的项目不支持 Java 8 的 lambda 表达式。我找不到如何在没有 lambda 表达式的情况下使用 ReactiveX observable 的示例。

【问题讨论】:

  • 反应性?你是说“观察者”吗? javaworld.com/article/2077258/learn-java/…
  • 如果您在 Java 6 项目中编写 lambda,大多数现代 IDE 都可以选择转换为匿名内部类。
  • 我正在使用 intellij 但我找不到怎么做.. 你有这方面的经验吗?
  • 我正在使用 Eclipse,有一个快速修复它。

标签: java rx-java reactivex


【解决方案1】:

您是否只是在为您正在做的事情寻找正确的无 lambda 语法?

那就是:

static Observable<Integer> getDataSync(int i) {
    return Observable.create(new Observable.OnSubscribe<Integer> {
        @Override
        public void call(Subscriber<? super Integer> s) {
            // simulate latency
            try {
                Thread.sleep(1000);
            } catch (Exception e) {
                e.printStackTrace();
            }
            s.onNext(i);
            s.onCompleted();
        }
    });
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-30
    • 1970-01-01
    相关资源
    最近更新 更多