java 8流循环

时间:2018-03-11 20:24:52

标签: loops for-loop java-8 java-stream

我正在玩java 8,我的循环看起来像这样:

    Product neededProduct = null;


    for (Iterator<Product> iterator = products.iterator(); iterator.hasNext();) {
        Product product = iterator.next();

        if (product.getProductId().equals(id)) {
            neededProduct = product;
            break;
        }
    }

现在我的想法是用流来替换它,

products.stream().filter(s -> s.getProductId().equals(id)).forEach(product -> {
            neededProduct = product;
            break;
        });

但needProduct必须是final才能用到lambda表达式,break也不能用于lambda,有什么想法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:4)

您可以直接使用其中一个find *操作分配cursor.execute("UPDATE Exercises SET Exercise=?, Weight=? WHERE ID=?", (Exercise, Weight, ID))

neededProduct