代码如下出现标题报错
List<String> days = DateUtils.getDays(t.getStartTime(), t.getEndTime());
days.stream().map(v->
System.out.println(v)
);
改成如下两种方式都是可以的
days.stream().forEach(v->
System.out.println(v)
);
days.stream().map(v->{
System.out.println(v);
return "123";
}
);
因为map的传参看下
<R> Stream<R> map(Function<? super T, ? extends R> mapper);
![](https://img-blog.csdnimg.cn/20190619092109958.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FsYmVydEZseQ==,size_16,color_FFFFFF,t_70)
是要一个返回值R的
所以报如下错误 no instance(s) of type variable(s) T exist so that void conforms to R
再看写的两个例子
![](https://img-blog.csdnimg.cn/20190619092200426.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FsYmVydEZseQ==,size_16,color_FFFFFF,t_70)
第1种写法貌似没有返回值啊 (第2个有)
点进去看看第一个调用看看
![](https://img-blog.csdnimg.cn/20190619092329572.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FsYmVydEZseQ==,size_16,color_FFFFFF,t_70)
是有返回值的 只是是
CompletableFuture<Void> 这种空结构而已。