Java 8 新特性 之 Lambda表达式原来这么简单??!!

  当初在学校时就那么稍微比别人强那么一丢丢就觉得自己这智商无敌了,毕业后步入公司才发现小丑竟是我自己,公司中大牛数不胜数,有时候自己也会想到底是一个什么样的环境让他们这么野蛮生长,我怎么样才能在他们这个年纪跟他们一样技术🐂🍺且骚话连篇,但是总是以公司业务复杂,事情太多而自己为自己找借口,安慰自己,并且自己当初熟练掌握的技术大纲也因长时间的不使用,不复习而随着时间的流逝慢慢褪去,有的时候想要挽回,尽量想办法去做,但还是发现无力回天,但是心里的想法还是非常强烈,周末放假有空时就会出去踩点,找个适合学习的地方,安安静静去做一些事情,最后结果可能与最初想法并不一致,但是不做就等于没有,懂的都懂。
在这里插入图片描述



前言

Java 8 新特性核心内容包括:Lambda 表达式、函数式接口、方法引用与构造引用、Stream API、新时间日期 API。
其他内容包括:接口默认方法 等。


一、Lambda 表达式是什么?

Lambda 表达式是一种代码语法,主要简化了函数式接口的编写方式,让代码更加清晰以及更加简洁。

二、使用步骤

Lambda 表达式的编写方式有很多种,但万变不离其宗,了解其中的规律就能够熟练掌握。

1. 特邀嘉宾

本次主要邀请到了 有参函数式接口(AllArgsFuncInterface) 以及 无参函数式接口(NoArgsFuncInterface) 来表达 Lambda表达式 的使用,大家热烈欢迎👏👏👏。

函数式接口描述: 若接口中仅有一个抽象方法则可以当作函数式接口。

有参函数式接口(AllArgsFuncInterface)

@FunctionalInterface
public interface AllArgsFuncInterface {
	String invoke(String args);
}

无参函数式接口(NoArgsFuncInterface)

@FunctionalInterface
public interface NoArgsFuncInterface {
	String invoke();
}

@FunctionalInterface: 标识一个接口为函数式接口,若该接口不是函数式接口则在编译时就报错(有效的防止他人或者自己在不知道的情况下对一个函数式接口增加抽象方法)。

2. 进入正题

主要通过三种常见方式来了解并掌握 Lambda表达式。

第一种最常见的 Lambda 编写方法:

NoArgsFuncInterface func = () -> {
	String message = "我是 无参函数式接口 !";
	System.out.println(message);
	return message;
};

步骤解析:
没有使用 Lambda 之前的方式应该是这样

NoArgsFuncInterface func = new NoArgsFuncInterface() {
	@Override
	public String invoke() {
		String message = "我是 无参函数式接口 !";
		System.out.println(message);
		return message;
	} 
}

当使用函数式接口时,以下代码将可以省略

new NoArgsFuncInterface() {}

以及方法修饰符、返回值、方法名称都会被省略掉

public String invoke

最后结果就是 参数括号() 与 代码括号{}

() -> {};

箭头符号主要用于标识 Lambda 表达式,仅可以Lambda表达式中使用。

使用技巧

  1. 不省略任何代码的使用方式
AllArgsFuncInterface func = (args) -> {
	// 逻辑代码
	return "结果";
}
  1. 若 函数式接口 中方法有参数参数仅只有一个, 则可以省略参数括号 ()
AllArgsFuncInterface func = args -> {
	// 逻辑代码
	return "结果";
};
  1. 若 函数式接口 中方法不需要编写逻辑,仅需要一个返回值,则可以省略代码括号以及 return 符号(不省略 return 也可以)
// 省略 代码块 return (常用)
AllArgsFuncInterface func = args -> "结果";

总结

Lambda表达式就介绍到此,以上就是 Lambda 全部内容,若有补充的小伙伴,评论区见啦~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值