老师您好 我有个疑问,这些Stream的函数式编程接口为什么泛型非得<? super T>

来源:3-11 实战:常用终端操作演示之匹配

Panda_io

2020-12-05

老师您好 我有个疑问,这些Stream的函数式编程接口为什么泛型非得<? super T>,这里用不就够了吗是吧老师

    <R> Stream<R> flatMap(Function<? super T, ? extends Stream<? extends R>> mapper);
    boolean allMatch(Predicate<? super T> predicate);
写回答

1回答

张小喜

2020-12-06

是这样,Stream出现的目的是解决不同类型集合操作的问题,为了尽量适配到所有的集合类型以及集合中元素的类型,所以使用泛型来定义接口,目的就是既对类型做了约束,又能最大限度的适配所有集合。关于泛型的知识点,可以找一本基础的Java数据看一下,可以加深理解。所有的框架内部都会用到泛型,来处理常见的类型约束问题。

0
1
Panda_io
谢谢老师,我的关键字不小心少打了我重新描述下这个问题
2020-12-06
共1条回复

Java高效编程技巧实践 告别996

可以改变的编程效率

1451 学习 · 326 问题

查看课程