java 8中.stream()的默认实现是什么?

时间:2014-06-13 00:41:25

标签: java java-8

它只是说:

  

返回以此集合为源的顺序Stream。

     

当spliterator()方法不能时,应该重写此方法   返回一个IMMUTABLE,CONCURRENT或后期绑定的spliterator。   (有关详细信息,请参阅spliterator()。)

但我无法找到任何显示其创建方式的代码并返回新的流。

double average = roster
.stream()
.filter(p -> p.getGender() == Person.Sex.MALE)
.mapToInt(Person::getAge)`enter code here`
.average()
.getAsDouble();
  • rosterList<Person>
  • ArrayList<Person>个实例
  • Person是一个代表一个人的简单类

1 个答案:

答案 0 :(得分:2)

基本上整个流实现都是私有的,所以你不会在docs.oracle.com上看到任何东西。

但请看一下这里的源代码:http://hg.openjdk.java.net/jdk8/jdk8/jdk/file/687fd7c7986d/src/share/classes/java/util/stream

您可以从StreamSupport开始,大多数类都使用它来创建各种流。