java - 关于 lambda 中 `this` 关键字的说明

标签 java reactive-programming

interface Observable<T> {
    Subscription subscribe(Observer<T> observer);


    default Observable<T> filter(Predicate<T> fn) {
        return observer -> {
            Observer<T> obsT = new Observer<T>() {
                @Override
                public void onNext(T t) {
                    if (fn.test(t))
                        observer.onNext(t);
                }

                @Override
                public void onError(Throwable t) {
                    observer.onError(t);
                }

                @Override
                public void onComplete() {
                    observer.onComplete();
                }
            };
            return this.subscribe(obsT);
        };
    }
}

上面代码中的this指的是什么,有人可以帮忙吗...

最佳答案

它告诉当前的Observable对象实例在处理完Filter调用后调用它自己的Subscribe方法并返回新的订阅作为Observable

更具体地说,this 是指向正在执行当前作用域的对象实例的指针。

关于java - 关于 lambda 中 `this` 关键字的说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51086556/

相关文章:

java - Libgdx 渲染网格问题

java - 如何在 Spring Boot 集成测试中读取生成的属性文件?

java - 什么是NullPointerException,我该如何解决?

c# - 使用和维护 IGroupedObservable

javascript - highland.js 获取 json 数组并转换为值流

rx-java - 如何在 RxJava 中制作冷单 'hot'

Java - 如何根据相机的旋转创建 3D vector

ios - RxSwift - onError 发出两次

android - doOnSubscribe 在主线程上被调用

java - 如何模拟java套接字连接中断?