Java lambda - 修改forEach循环中的值

时间:2018-02-24 17:28:54

标签: java lambda foreach

我试图使用lambdas来实现这样的目标。但是,“我”必须是最终的。

int i = 1;
for (Object obj : list) {
 if (something) {
  i++;
 }
}

修改

但是,如果我想添加一个不同于对象的值呢?

int i = 1;
for (Object obj : list) {
   if (something) {
      otherMethod(i);
      i += obj.getValue();
   }
}

1 个答案:

答案 0 :(得分:8)

你可以这样做:

int i = 1 + (int)list.stream().filter(something).count();

其中somethingfilter的标准。