开发者社区 问答 正文

使用Stream在无循环计数器的情况下并行执行100次

是否可以从以下代码中删除变量i(因为它未被使用)?

IntStream.range(0, 99).parallel().forEach(i -> { // do something without variable i }); 编辑:有没有人知道另一个表示法可以在没有不必要的循环计数器的情况下并行执行100次?

展开
收起
小六码奴 2019-10-10 16:48:28 1273 分享 版权
1 条回答
写回答
取消 提交回答
  • 不可以,因为foreach使用intconsumer作为参数,而您提供的lambda表达式必须与intconsumer函数接口兼容。现在看一下IntConsumer接口的accept方法,它带有一个参数:

    @FunctionalInterface public interface IntConsumer {

    void accept(int value);
    

    因此,从上面的代码中,可以看到accept(int value)需要一个参数。

    2019-10-10 16:49:19
    赞同 展开评论
问答地址: