在java8中,如何在lambdas foreach块中设置全局值?

在java8中,如何在lambdas foreach块中设置全局值?,第1张

在java8中,如何在lambdas foreach块中设置全局值?

您当然可以通过技巧“使外部值可变”:

public void test() {    String[] x = new String[1];    List<String> list = Arrays.asList("a", "b", "c", "d");    list.forEach(n -> {        if (n.equals("d")) x[0] = "match the value";    });}

不过,请准备好让功能强大的纯粹主义者击败团队。但是,更好的方法是使用功能更强大的方法(类似于Sleiman的方法):

public void test() {    List<String> list = Arrays.asList("a", "b", "c", "d");    String x = list.stream()        .filter("d"::equals)        .findAny()        .map(v -> "match the value")        .orElse(null);}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5499531.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存