登录 后使用快捷导航
没有帐号?立即注册

IT撸码课程网

用户名   找回密码
  立即注册
发新帖

放牛娃学Java-Java8系列-Lambda表达式是什么?

[复制链接]
100 199 100
发表于2018-12-23 16:37:28 | 只看楼主 | 阅读模式
上一主题
登录后查看本帖详细内容!您需要登录后才可以下载 登录 | 立即注册


放牛娃学Java-Java8系列-Lambda表达式是什么?


Lambda 一个很神奇的表达式, 可以简单的理解是一种可传递匿名函数的一种, 没有名称,但有参数列表、函数主体、返回类型、还可以抛出异常列表。

/**
 * Java8的排序
 */
@Test
public void demo5() {

    List<Apple> apples = Arrays.asList(new Apple("1号", "green", 10),
            new Apple("2号", "blue", 20),
            new Apple("3号", "green", 60),
            new Apple("4号", "green", 8),
            new Apple("5号", "red", 80));

    //匿名内部类
    apples.sort(new Comparator<Apple>() {
        @Override
        public int compare(Apple o1, Apple o2) {
            return o1.getWeight().compareTo(o2.getWeight());
        }
    });

    //Lambda表达式
    apples.sort((Apple o1, Apple o2) -> {
        Integer weight = o2.getWeight();
        return o1.getWeight().compareTo(weight);
    });

}


Lambda 表达式三部分:

1、参数列表:Comparator中的compare方法参数,两个Apple;

2、箭头: ->把参数和主体分开;

3、主体:比较两个苹果的重量;



IT撸码网 - 必读申明1、本站会员可发帖,本主题所有言论和图片纯属会员个人意见,与本论坛立场无关.
2、本站所有帖子由该帖子作者发表,该帖子作者享有帖子相关权益.
3、本帖内容来网友及会员分享和其它网络媒体.
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意!
5、若因内容问题IT撸码网管理员和版主有权不事先通知发贴者而删除本文.
6、本站课程仅供本站会员学习参考,不得传播及用于其他用途,学习完后请在24小时内自行删除.
7、本站资源质量虽均经精心审查,但也难保万无一失,若发现资源有问题影响学习请一定及时点此进行问题反馈,我们会积极为您解决问题!
8、若发现链接失效了点此进行链接失效反馈,我们会第一时间修复链接.

精彩评论0

您需要登录后才可以发帖查看详细内容! 登录 | 立即注册
*
 

本版积分规则