:: 和 -> 都是java8新特性中lambda表达式的一种,主要是大大减少了代码量,提高效率
lambda表达式通常都是采用左边方法右边参数的写法,例如:
stu -> stu.getStuId()
同时这个写法也可以写成
stu :: stu.getAge 注意这里没有方法后面的括号,可以看如下的实例:
public class LambdaTest { public static void main(String[] args) { String[] ss = {"Rafael Nadal", "Novak Djokovic", "Stanislas Wawrinka", "David Ferrer","Roger Federer", "Andy Murray","Tomas Berdych", "Juan Martin Del Potro"}; List<String> list = Arrays.asList(ss); //for循环 for (int i = 0; i < ss.length; i++) { System.out.println(list.get(i)); } for (String aa : list) { System.out.println(aa); } //第三种 使用lambda表达式以及函数操作符 -> list.forEach((bb) -> System.out.println(bb)); //第四种 Java8中使用双冒号::操作符完成 list.forEach(System.out::println); } }