public class test {
public static void main(String[] args) {
IMessage msg = ( str ) -> {
System.out.println("发送消息: " + str);
}; //1.8之后版本的Lambda的简单表达式
msg.send("www.baidu.com");
}
}
=================================================================
Lambda表达式如果要想使用,那么必须有一个重要的实现要求:SAM(Single Abstract Method),只有一个抽象方法,以之前的IMessage接口为例,在这个接口里面发现只是提供有一个send()方法,除此之外没有任何的其他方法定义,所以这样的接口被称为函数式接口,而只有函数式接口才可以被Lambda表达式所使用的。
======================================================================
在使用Lambda表达式的接口时,要养成使用函数式接口的这个注解:
@FunctionalInterface
例如:
@FunctionalInterface
interface IMessage {
public void send(String str);
}
这样可以预防错误!
=============================================================================
对于Lambda表达式而言,提供有如下几种格式:
1.方法没有参数:
() -> { };
例如:
interface IMessage {
public void send();
}
public class test {
public static void main(String[] args) {
IMessage msg = ( str ) -> {
System.out.println("发送消息: www.baidu.com");
};
msg.send();
}
}
2.方法有参数:
(参数,参数) -> { }
interface Math {
public void add(int x,int y);
}
public class test {
public static void main(String[] args) {
IMessage msg = (t1,t2 ) -> {
return t1+t2;
};
System.out.println( msg.add(10,20) );
}
}
3.如果现在只有一行语句返回:
(参数 ,参数,...) -> 语句;(这个语句叫做返回语)
interface Math {
public void add(int x,int y);
}
public class test {
public static void main(String[] args) {
IMessage msg = (t1,t2 ) -> t1+t2;
分享
首先分享一份学习大纲,内容较多,涵盖了互联网行业所有的流行以及核心技术,以截图形式分享:
(亿级流量性能调优实战+一线大厂分布式实战+架构师筑基必备技能+设计思想开源框架解读+性能直线提升架构技术+高效存储让项目性能起飞+分布式扩展到微服务架构.........实在是太多了)
其次分享一些技术知识,以截图形式分享一部分:
Tomcat架构解析:
算法训练+高分宝典:
Spring Cloud+Docker微服务实战:
最后分享一波面试资料:
切莫死记硬背,小心面试官直接让你出门右拐
1000道互联网Java面试题:
Java高级架构面试知识整理:
相关阅读docs.qq.com/doc/DSmxTbFJ1cmN1R2dB