lamda表达式

来源:互联网 发布:大数据分析师工资 编辑:程序博客网 时间:2024/05/16 09:39

Lamda表达

        函数式编程

publicclass Test1 {

    publicstaticvoid main(String[]args) {

        fun(new IMessage(){

             publicvoid print(){

                 System.out.println("Hello World");

             }

        });

    }

    publicstaticvoid fun(IMessagemsg){

        msg.print();

    }

}

interface IMessage{

    publicvoid print();

}

        范例:使用landa表达式

publicclass Test1 {

    publicstaticvoid main(String[]args) {

        fun(()->System.out.println("Hello World"));

    }

    publicstaticvoid fun(IMessagemsg){

        msg.print();

    }

}

interface IMessage{

    publicvoid print();

}

Lamda的语法三种形式:

        ·(参数)->单行语句;

        ·(参数)->{单行语句};

        ·(参数)->表达式。

范例:单行语句

publicclass Test1 {

    publicstaticvoid main(String[]args) {

        fun((s)->System.out.println(s));

    }

    publicstaticvoid fun(IMessagemsg){

        msg.print("Hello world!");

    }

}

interface IMessage{

    publicvoid print(Stringstr);

}

范例:多行语句

publicclass Test1 {

    publicstaticvoid main(String[]args) {

        fun((s)->{

             s =s.toUpperCase();//转大写

             System.out.println(s);

        });

    }

    publicstaticvoid fun(IMessagemsg){

        msg.print("hello world!");

    }

}

interface IMessage{

    publicvoid print(Stringstr);

}

范例:表达式

publicclass Test1 {

    publicstaticvoid main(String[]args) {

        fun((s1,s2)->s1 + s2);

    }

    publicstaticvoid fun(IMessagemsg){

        System.out.println(msg.add(10, 20));

    }

}

interface IMessage{

    publicint add(intx,inty);

}


原创粉丝点击