关于lambda表达式的一些心得1

lambda表达式是Java 8中所引入的一大亮点,它可以使得代码的简洁性和可读性都有所提高。

lambda表达式的标准格式为:
(参数列表)->{
	//lambda方法体
}
示例:
public interface Calculable {
	// 计算两个int数值
	int calculateInt(int a, int b);
}
public class Text {
    public static void main(String[] args) {
        int a = 5;
        int b = 3;

        //实现加法计算对象
        Calculable c1 = calculable('+');
        //实现减法计算对象
        Calculable c2 = calculable('-');

        System.out.println(c1.calculateInt(a,b));
        System.out.println(c2.calculateInt(a,b));
    }

    public static Calculable calculable(char s) {
        Calculable res = null;

        if (s == '+') {
            //计算加法
            res = (int a, int b) -> {
                return a + b;
            };
        } else if (s == '-') {
            //计算减法
            res = (int a, int b) -> {
                return a - b;
            };
        }
        return res;
    }
}

lambda表达式是一个函数式的接口,这种接口只能有一个方法,如果有多个方法则会发生编译错误:
The target type of this expression must be a functional interface
为了防止在接口中定义多个抽象方法,Java提供了一个声明函数式接口的注解:
@FunctionalInterface
public interface Calculable {
	// 计算两个int数值
	int calculateInt(int a, int b);
}
在一些特殊的情况下,lambda表达式可以进行简化:
	参数类型可以省略,但必须所有的参数类型都省略;
	当参数列表只有一个时,参数列表的小括号可以省略;
	当lambda方法体只有一条语句时,方法体大括号可以省略;
	当lambda方法体只有一条语句,且这条语句是return语句时,return可同大括号一起省略。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值