博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Lamda表达式
阅读量:4658 次
发布时间:2019-06-09

本文共 1459 字,大约阅读时间需要 4 分钟。

JDK 1.8引入Lamda表达式,实现函数式编程。

引入:

interface IMessage {    public void print();}public class TestMessaage {    public static void main(String[] args) {        fun(new IMessage() {            @Override            public void print() {                System.out.println("打印匿名内部类");            }        });    }        public static void fun(IMessage msg) {        msg.print();    }    }

有效的代码其实只有: System.out.println("打印匿名内部类");

为了简化匿名内部类的写法,JDK 1.8引入Lamda表达式:

public class TestMesaage {    public static void main(String[] args) {        fun(() -> System.out.println("打印匿名内部类"));    }        public void fun(IMessage msg) {        msg.print();    }    }

Lambda的语法:

  · (参数) -> 单行语句
  . (参数) -> {多行语句}
  . (参数) -> 表达式
实例:
1.  (参数) -> {多行语句}

interface IMessage {    public void print();}public class TestMesaage {    public static void main(String[] args) {        fun(() -> {            System.out.println("打印匿名内部类");            System.out.println("打印匿名内部类2");            System.out.println("打印匿名内部类3");        });    }        public void fun(IMessage msg) {        msg.print();    }    }

2.  (参数) -> 表达式

interface IMessage {    public int print(int x, int y);}public class TestMessaage {    public static void main(String[] args) {        fun((x,y) -> x + y);            }    public static void fun(IMessage msg) {        System.out.println(msg.print(3,5));    }    }

总结:

  利用Lambda表达式最终解决的问题:避免了匿名内部类定义时过多的无用操作。

转载于:https://www.cnblogs.com/liyue-sqsf/p/8922461.html

你可能感兴趣的文章
java中构造方法及其作用
查看>>
实现Magento多文件上传代码功能开发
查看>>
HttpURLConnection
查看>>
包与模块--内置
查看>>
vs2017新建一个空项目
查看>>
[转]Java中使用Runtime和Process类运行外部程序
查看>>
Java中的集合Queue、LinkedList、PriorityQueue(四)
查看>>
Excel操作之VLOOKUP函数
查看>>
黑盒测试实践--Day4 11.28
查看>>
apache开启rewrite重写
查看>>
反转数字
查看>>
html在图片上实现下雨效果
查看>>
SQL-创建表之前判断表是否存在
查看>>
php spl数据结构
查看>>
Redis 实践3-操作
查看>>
uboot下tftp传输文件
查看>>
计算中文或全角字符串的长度
查看>>
修改xampp的mysql默认密码
查看>>
双指针---反转字符串中的元音字符
查看>>
2015_NJUPT_CTF_Reverse300
查看>>