Java,方法参考-如何打印列表值
我有以下清单。我想使用 lambda 和方法引用打印值。第一个 lambda 表达式有效,但我不知道如何使用方法引用打印值,因为我收到编译错误。
List<String> letters = Arrays.asList("a","b","c");
System.out.println("Lambda upperCase forEach");
letters.forEach(l -> System.out.println(l.toUpperCase))); //it works
System.out.println("Method Reference upperCase forEach");
letters.forEach(System.out::println(String::toUpperCase))); //compilation error
如何使用方法引用打印值?
回答
使用方法引用时,不能传递参数化参数。而是尝试先将值转换为大写,然后打印如下值,
letters.stream().map(String::toUpperCase).forEach(System.out::println);
map 方法将值转换为大写,而 forEach 方法将打印值。