方法级别的泛型,如果在实现类中确定下来?

现在有这样一个接口。

    interface Functor<T,F extends Functor<?,?>> {
        <R> F map(Function<T,R> f);
    }

我想在实现类中确定R的类型,比如规定R必须为Boolean,我该如何实现呢?

阅读 1.7k
1 个回答

R放到类上

    interface Functor<T, F extends Functor<?, ?, ?>, R> {
        F map(Function<T, R> f);
    }

    static class FunctorImpl<T> implements Functor<T, FunctorImpl<T>, Boolean> {
        @Override
        public FunctorImpl<T> map(Function<T, Boolean> f) {
            return null;
        }
    }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题