码迷,mamicode.com
首页 > 编程语言 > 详细

Java 8中的lambda表达式

时间:2020-03-20 23:50:03      阅读:71      评论:0      收藏:0      [点我收藏+]

标签:rri   new   简单的   turn   直接   code   实现   对象   str   

Java 8中新增了lambda表达式
简单的通过代码分析一下lambda表达式的简单用法。

interface Print{
void print(String val);
}
//第三个例子
interface IPrint{
    void print();
}
public class LambdaDemo {
    public static void main(String args[]){
        LambdaDemo L=new LambdaDemo();
        String some="打印输出";

        /*不用lamda表达式的常规方法*/
//        Print print=new Print() {
//            @Override
//            public void print(String val) {
//                System.out.println(val);
//            }
//        };
        /*标准的lamda表达式*/
//        Print print=(String val)->{
//            System.out.println(val);
//        };

        /*这里是因为只有一个参数*/
        Print print=val -> System.out.println(val);

        L.PrintSomething(some,print);
        /*还可以直接放在语句中*/
        L.PrintSomething(some,val -> System.out.println(val));

        /*第二个例子*/
        LambdaDemo t=new LambdaDemo();
        LambdaDemo.IAdd s=((x, y) -> x+y);
        System.out.println(t.add(1,2,s));

        /*第三个例子*/
        //        IPrint t =new IPrint(){
//            @Override
//            public void print() {
//                System.out.println("匿名函数实现");
//            }
//        };
//        t.print();
        //这是使用匿名函数调用接口中的方法
    
        IPrint w=()->{System.out.println("匿名函数的lambda实现");};
        w.print();
        /*lambda表达式最重要的就是省去了匿名对象的繁杂,使代码更加简洁*/
    }
    public void PrintSomething(String something,Print print){
        print.print(something);
    }
    /*第二个例子*/
    public int add(int x, int y, LambdaDemo.IAdd iAdd){
        return iAdd.sum(x, y);
    }
    interface IAdd {
        int sum(int x, int y);
    }
}

Java 8中的lambda表达式

标签:rri   new   简单的   turn   直接   code   实现   对象   str   

原文地址:https://www.cnblogs.com/chenduanxing/p/12535605.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!