Stream类有一个map方法,<R> Stream<R> map(Function<? super T, ? extends R> mapper);
它返回Stream类型的对象,但是我不明白返回类型前面是什么意思(一般这样的参数化在这种方法中是无法理解的)。
Stream类有一个map方法,<R> Stream<R> map(Function<? super T, ? extends R> mapper);
它返回Stream类型的对象,但是我不明白返回类型前面是什么意思(一般这样的参数化在这种方法中是无法理解的)。
<R>在返回类型前面意味着,可以说,为方法引入了一个新的参数化类型(泛型,泛型)——所以我们向编译器声明“嘿,我打算在这里使用一个新的泛型,目前的班级还不知道”。该方法已经知道泛型,因为该方法所属
<T>的类本身被声明为使用该泛型 - 参数化。 如果没有引入这样的新名称,那么编译器将无法理解声明的方法参数中的字母“R”是什么意思,因为编译器(很可能)不会找到具有此名称的类。StreamStream<T>方法本身
map就是一个转换器:我们有一个类型的数据流T,map我们将这个数据类型转换为类型的函数传递给R方法,方法返回给我们一个类型的数据流R。例子: