Java 1

94 阅读2分钟

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表达式所使用的。

2.函数式接口注解

======================================================================

在使用Lambda表达式的接口时,要养成使用函数式接口的这个注解:

@FunctionalInterface

例如:

@FunctionalInterface

interface IMessage {

public void send(String str);

}

这样可以预防错误!

3.Lambda表达式的几种格式

=============================================================================

对于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