Lamda表达式

Lamda表达式

1.什么是Lamda?

Lamda 是JAV 8 添加的一个新的特性,说白了Lamda 就是一个匿名函数。

为什么要使用Lamda?

使用Lamda表达式可以对一个接口实现非常简洁的实现。

比如说我们要实现一个比较大小的接口:

方式一:接口的实现类来完成此功能。
public class Program {
    public static void main(String[] args) {
        MyComparator myComparator = new MyComparator();
        myComparator.compar(4, 6);
    }
}
​
interface Comparator {
    int compar(int a, int b);
}
class MyComparator implements Comparator {
    @Override
    public int compar(int a,int b) {
        return a-b;
    }
}
​
​
方式二:匿名内部类
​
    public class Program {
    public static void main(String[] args) {
        Comparator comparator = new Comparator() {
            @Override
            public int compar(int a, int b) {
                return a-b;
            }
        };
         int compar = comparator.compar(4, 6);
         System.out.println(compar);
    }
}
​
interface Comparator {
    int compar(int a, int b);
}
​
方式三:Lamda 表达式
    
public class Program {
    public static void main(String[] args) {
        Comparator comparator =  (a,b)->a-b;
         int compar = comparator.compar(4, 6);
         System.out.println(compar);
    }
}
​
interface Comparator {
    int compar(int a, int b);
}

Lamda对接口的要求是什么?

虽然可以使用Lamda 表达式对某些接口进行简单的实现,但并不是所有的接口都可以用Lamda表达式来实现。要求接口中定义的必须是要实现的抽象方法只能是一个

*JAVA 8 对接口家里一个新的特性:default*

 

@FunctionalInterface修饰函数式接口的,接口中的抽象方法只有一个。

 

如果有多个抽象方法就会报错

 

2.Lamda基本语法

首先需要注意的是 Lamda 是一个匿名函数那么有以下几个关注点

  1. 参数列表名

  2. 方法体

  3. 返回值类型 (在Lamda 中返回值不用显示的写出)

  4. 方法名(匿名不用关注)

 

符号 含义
() 用来描述参数列表
{} 用来表示方法体
-> Lamda运算符 读作 goes to
1.无参无返回值
@FunctionalInterface
public interface LamdaNoneReturnNoneParamter {
    void test();
}
​
class imTest{
    public static void main(String[] args) {
        LamdaNoneReturnNoneParamter lamdaNoneReturnNoneParamter = ()->{
            System.out.print("无参无返回值");
        } ;
    }
}
​
2.无返回值单个参
@FunctionalInterface
public interface LamdaNoneReturnNoneParamter {
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值