java 中的方法调用及泛型问题


    public final i a(final rx.c.b<? super T> bVar, final rx.c.b<Throwable> bVar2) {
        if (bVar == null) {
            throw new IllegalArgumentException("onNext can not be null");
        } else if (bVar2 != null) {
            return b((h<? super T>) new h<T>() {
                public final void onCompleted() {
                }

                public final void onError(Throwable th) {
                    bVar2.call(th);
                }

                public final void onNext(T t) {
                    bVar.call(t);
                }
            });
        } else {
            throw new IllegalArgumentException("onError can not be null");
        }
 

final rx.c.b<? super T> bVar

1.这个泛型rx.c.b<? super T> b后面的用尖括号 表示这个类型是b 下面的? 然后 super T 是这个子类?
2.bVar.call(t)
这里有个call()方法,但是我全局搜索都没找到call 的实例化的地方

阅读 2.3k
1 个回答
  1. rx.c.b<? super T>: rx.c.b这是个接口或者类,而后面<? super T>定义的是类属性或者方法使用的具体对象。bVarrx.c.b的实例。
  2. bVar.call(t): 全局搜索不到call(t)方法是因为这是留给你具体去实现的回调函数,这也是java通用的实现回调函数的做法。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题