Java8新特性-lambda表达式

现在学习Java8新特性,总结一下lambda表达式。

 

1.函数式接口

只包含一个抽象方法的接口,称为函数式接口。Java8内置函数式接口:java.util.function包下的接口。

2.新运算符  ->

    @Test
    public void test2(){
        Consumer consumer = x ->System.out.println(String.format("有参数,无返回                    
           值:%s",x));
        consumer.accept("666");
    }

->左侧 :指定了 Lambda 表达式需要的所有参数 

->右侧:指定了 Lambda 体,即 Lambda 表达式要执行 的功能。

总结:lambda表示式可以理解为匿名内部类的简单化实现。

例如:下面的代码执行效果等同。

 @Test
    public void test2(){
        Consumer consumer = x ->System.out.println(String.format("有参数,无返回 
           值:%s",x));
        consumer.accept("666");
       //  ===========================================================================================
        Consumer consumer1 = new Consumer() {
            @Override
            public void accept(String s) {
                System.out.println(String.format("有参数,无返回值:%s",x));
            }
        };
        consumer1.accept("666");
    }

 

你可能感兴趣的:(java,lambda)