java 8中.stream()的默认实现是什么? [英] What is the default implementation of .stream() in java 8?

查看:211
本文介绍了java 8中.stream()的默认实现是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

它只是说:


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

Returns a sequential Stream with this collection as its source.

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

This method should be overridden when the spliterator() method cannot return a spliterator that is IMMUTABLE, CONCURRENT, or late-binding. (See spliterator() for details.)

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

But I can't find any code showing how it creates and returns the new Stream.

double average = roster
.stream()
.filter(p -> p.getGender() == Person.Sex.MALE)
.mapToInt(Person::getAge)`enter code here`
.average()
.getAsDouble();




  • 名册是一个列表< Person> 实例> ArrayList< Person>

  • 是一个代表一个人的简单类

    • roster is a List<Person> instance of ArrayList<Person>
    • Person is a simple class that represents a person
    • 推荐答案

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

      Basically the whole stream implementation is package private so you won't get anything showing up at docs.oracle.com.

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

      But take a look a look at the source code here: http://hg.openjdk.java.net/jdk8/jdk8/jdk/file/687fd7c7986d/src/share/classes/java/util/stream

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

      You can start with StreamSupport which most classes uses to create the various streams.

      这篇关于java 8中.stream()的默认实现是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆