我正在阅读 Lambda 状态: 图书馆版,有一句话让我感到惊讶:
在 小溪节中,有以下内容:
List<Shape> blue = shapes.stream()
.filter(s -> s.getColor() == BLUE)
.collect(Collectors.toList());
该文档没有说明 shapes
实际上是什么,我甚至不知道它是否重要。
让我感到困惑的是: 这个代码块返回什么样的具体 List
?
List<Shape>
,这完全没问题。stream()
和 filter()
决定使用什么类型的列表。Collectors.toList()
既不指定 List
的具体类型。那么,这里使用的 List
的 混凝土类型(子类)是什么? 有什么保证吗?