方法级别的泛型,如果在实现类中确定下来?
现在有这样一个接口。
interface Functor<T,F extends Functor<?,?>> {
<R> F map(Function<T,R> f);
}
我想在实现类中确定R的类型,比如规定R必须为Boolean
,我该如何实现呢?
回复
1个回答

test
2024-07-18
把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;
}
}
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容