我正在阅读Lambda:Libraries Edition的状态,我对一个声明感到惊讶:
在Streams部分下,有以下内容:
List<Shape> blue = shapes.stream()
.filter(s -> s.getColor() == BLUE)
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
该文件没有说明shapes实际是什么,我不知道它是否重要.
令我困惑的是:List这段代码返回了什么样的具体内容?
List<Shape>,这是完全正常的.stream()也filter()决定使用哪种列表.Collectors.toList()既没有指定具体的类型List.那么,这里使用的具体类型(子类)List是什么?有保证吗?