【问题标题】:Simplest way to create a stream from a Java object?从 Java 对象创建流的最简单方法?
【发布时间】:2017-02-28 08:13:18
【问题描述】:

有了Collection,一切都清楚了,但是下面的呢:

有一个object 带有一个count() 方法和一个getPart(int i) 方法。因此提取所有对象会导致以下样板代码:

List<Part> result = new ArrayList<Part>();
for (int i = 0, i < object.count(), i++) {
    result.add(object.getPart(i));        
}
return result.stream(); 

是否有任何标准方法可以只传递 2 个生产者:() -&gt; object.count()(int i) -&gt; object.getPart(i) 来创建流?像这样:

SomeUtil.stream(object::count, object::getPart);

【问题讨论】:

  • This question 看起来很相似,也许它可以帮助
  • 因为没有方法getParts。 :)

标签: java java-8 java-stream


【解决方案1】:

试试这个:

IntStream.range(0, object.count()).mapToObj(object::getPart);

【讨论】:

  • 我记不清“如何从这个奇怪的东西创建流”的解决方案有多少次了——问题是IntStream 解决方案! :D
猜你喜欢
  • 2014-02-03
  • 2014-05-25
  • 2011-11-27
  • 1970-01-01
  • 1970-01-01
  • 2016-01-03
  • 1970-01-01
  • 2011-10-11
  • 1970-01-01
相关资源
最近更新 更多