在这种情况下如何使用'::'操作?



我想知道如何将lambda表达式打印字符串长度转换为使用"::"操作。

String[] arr = new String[]{"1", "234", "56"};
Arrays.stream(arr).forEach(s -> System.out.println(s.length()));

好问题!在这里,您可以执行两次。一次通过在每个String上调用length()将每个String映射到int,第二次通过在System.out上调用println(int)。比如

Arrays.stream(arr).mapToInt(String::length).forEach(System.out::println);

最新更新