我在 java 8 中看到了一个迭代集合的代码。
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6);
numbers.forEach(System.out::println);
System.out::println
的功能是什么?以及上面的代码如何遍历列表。
以及运算符 ::
有什么用,还有什么地方可以使用这个运算符?
最佳答案
它被称为“方法引用”,它是如下表达式的语法糖:
numbers.forEach(x -> System.out.println(x));
在这里,您实际上需要名称 x
来为每个元素调用 println
。这就是方法引用有用的地方 - ::
运算符表示您将使用参数调用 println
方法,您没有明确指定该参数的名称:
numbers.forEach(System.out::println);
关于java - Java 8 中的 "System.out::println"有什么用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31020269/