有什么更好的电话
names.stream().forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)
比
names.stream().forEach(n -> System.out.println(n));
Run Code Online (Sandbox Code Playgroud)
尽管事实上您必须编写更少的代码?在Java 8中引入方法引用还有其他优点吗?
我有以下清单。我想使用 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
Run Code Online (Sandbox Code Playgroud)
如何使用方法引用打印值?