lambda表达式

:: 和 -> 都是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);
        
    }
 
}
原文地址:https://www.cnblogs.com/mingforyou/p/14663876.html