Java---lambda表达式

  • JDK1.8开始将匿名内部类的实现转为了函数式实现,引入了lambda表达式。
    函数式编程的最严格要求:每一个接口里面只允许有一个抽象方法。
    为了保证所定义的接口一定是函数式编程所使用的接口,那么一般在定义函数式接口前需要加上一个“@FunctionInterface”注解。
  • 函数式编程的基本组成: (参数) -> 程序的语句;
    单行语句:(参数) -> 程序的语句;
    多行语句:(参数) -> {程序的语句 … return};
    简单返回:(参数) -> 表达式 ;

  • 实例分析
    单行语句:
    (参数) -> 程序的语句;
    运行结果: 输出 数据A

@FunctionInterface
interface IDemo<T>{
    public void print(T t);
}
public class Test{
    public static void main(String[] args) {
        IDemo<String>  demo = (str) -> System.out.println(str);
        demo.print("数据A");
    }
}

多行语句:
(参数) -> {程序的语句 … return};
运行结果:输出false;

@FunctionInterface
interface IDemo<T,r>{
    public r print(T t1,T t2);
}
public class Test{
    public static void main(String[] args) {
        IDemo<String,Boolean>  demo = (str1,str2) ->{
            return str1.equals(str2);
        };
        System.out.println(demo.print("输出","输入"));
    }
}

简单返回:
(参数) -> 表达式 ;

运行结果: 输出true

@FunctionInterface
interface IDemo<T>{
    public boolean print(T t1,T t2);
}
public class Test{
    public static void main(String[] args) {
        IDemo<Integer>  demo = (str1,str2) -> str1==str2;
        System.out.println(demo.print(100,100));
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值