失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > JDK8新特性-Lambda表达式查找

JDK8新特性-Lambda表达式查找

时间:2023-10-10 04:47:07

相关推荐

JDK8新特性-Lambda表达式查找

独角兽企业重金招聘Python工程师标准>>>

1. Lambda语法的三种形式

(参数) -> 单行语句(参数) -> {多行语句}(参数) -> 表达式

2. 注意

接口中使用,接口只定义一个接口方法外部变量被lambda表达式引用,编译器会隐式的把其当成final来处理

3. 普通匿名内部类

// 函数式接口声明注解(只能定义一个方法)@FunctionalInterfaceinterface IMessage {void print();}public class LambdaDemo1 {public static void main(String... args) {fun(new IMessage() {@Overridepublic void print() {System.out.println("Hello World!"); // 核心代码就这一条}});}private static void fun(IMessage msg) {msg.print();}}

4. Lambda表达式

@FunctionalInterfaceinterface IMessage2 {void print();}public class LambdaDemo2 {public static void main(String... args) {fun(() -> System.out.println("Hello World!"));}private static void fun(IMessage2 msg) {msg.print();}}

5. 带参的Lambda表达式

@FunctionalInterfaceinterface IMessage2 {void print(String str);}public class LambdaDemo2 {public static void main(String... args) {// 首先要定义此处表达式里面需要接收变量,单行语句直接进行输出fun((s) -> System.out.println(s));}private static void fun(IMessage2 msg) {msg.print("Hello World");}}

6. 编写多行语句

@FunctionalInterfaceinterface IMessage2 {void print(String str);}public class LambdaDemo2 {public static void main(String... args) {// 首先要定义此处表达式里面需要接收变量,单行语句直接进行输出fun((s) -> {s = s.toUpperCase();System.out.println(s);});}private static void fun(IMessage2 msg) {msg.print("Hello World");}}

7. 编写一个表达式

@FunctionalInterfaceinterface IMessage2 {int add(int x, int y);}public class LambdaDemo2 {public static void main(String... args) {fun((x, y) -> x + y);}private static void fun(IMessage2 msg) {System.out.println(msg.add(10, 20));}}

如果觉得《JDK8新特性-Lambda表达式查找》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。