Java8 lambda学习日记(1)

本文介绍了Java8中Lambda表达式的引入及其与匿名内部类的区别。通过对比Java8前后创建新线程的例子,展示了Lambda表达式如何简化代码并提高可读性。

Java8的一个重要的变化就是lambda的引入, 也就是函数式编程的引入, 作为新手的我, 是这样看待它的.
首先,我阅读的资料是< Java8 函数式编程 >.


书中的第一章讲述了匿名内部类是不易读的代码.lambda对它进行了优化, http://www.importnew.com/16436.html 上可见

// Java 8之前:
new Thread(new Runnable() {
    @Override
    public void run() {
    System.out.println("Before Java8, too much code for too little to do");
    }
}).start();
//Java 8方式:
new Thread( () -> System.out.println("In Java8, Lambda expression rocks !!") ).start();

然而, 匿名内部类这东西, 我见得不多.
在网上搜了下匿名内部类的作用是

  • 在调用其他class的时候, 想修改其class的method, 在做算法题时候,调用sort函数时,override其方法时候见过. method的实现不理想时候使用,而考虑的情况又太多, 不能重写class的method.
  • 在调用interface的时候 , 顺便实现… 这种属于偷懒的情况吧..
  • 监听器模式, 和第一点差不多, 只不过第一点有了default
 button.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
        // do something
    }
});

引申:

匿名类:
http://stackoverflow.com/questions/355167/how-are-anonymous-inner-classes-used-in-java
Frist-class: https://en.wikipedia.org/wiki/First-class_function

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值