java8新特性学习笔记1--lambda表达式

一、lambda表达式

1.1 介绍

(1)what-->表现形式

(Integer a1, Integera2)->{Integer.compare(a1,a2)}


(Integer a1, Integera2):lambda形参列表 ,相当于接口中抽象方法形参列表
->      : lambda操作符
{Integer.compare(a1,a2)}:lambda方法体,相当于接口中抽象方法的实现方法体

(2)why-->labmda表达式目的:简化代码。Java8 中引入 Lambda 表达式,使原本需要用匿名类实现接口传递行为,现在通过 Lambda 可以更直观的表达

(3)how-->labmda表达式本质:接口的匿名实现类(即:lambda表达式必须依赖于函数式接口

 

1.2 lambda形参列表

(1)形参类型可以省略,类型推断可以知道类型;

(2)形参个数只有一个时,()可以省略;

1.3 lambda方法体

(1)方法体仅有一行时,{}可省略,且return关键字可省略

(2)接口须为函数式接口(lambda表达式一定依赖函数式接口)

1.4 例子

package com.fupng3.newpack;

import org.junit.Test;
import java.util.Comparator;

public class NewTest {
    @Test
    public void test1() {
        Comparator<Integer> a3=(Integer a1, Integer a2)->{
            return Integer.compare(a1,a2);
        };
        System.out.println(a3.compare(12,20));
    }

    /**
     * test1简化后的写法
     */
    @Test
    public void test2() {
        Comparator<Integer> a3=(a1, a2)->Integer.compare(a1,a2);
        System.out.println(a3.compare(50,20));
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值