Lambda表达式使用前提:
1、有一个接口;
2、接口有且只有一个抽象方法。
Lambda表达式的标准格式:(形式参数) -> {代码块} ,如果有多个形式参数,逗号隔开,没有参数留空即可。
组成Lambda表达式的三要素:形式参数、箭头、代码块
分析:
():里面是形式参数,没有就是空的,有多个就逗号隔开;
-> :由英文中划线和大于符合组成,固定写法,代表指向动作;
{ } :大括号就是代码块,里面的内容是具体要写的方法内容。
Lambda表达式的省略格式:a、参数类型可以省略;
b、如果参数有且仅有一个,小括号可以省略;
c、如果代码块语句只有一条,大括号、分号可以省略,甚至是return。
public class LambdaTest { public static void main(String[] args) { useShowTest(() -> { System.out.println("我是Lambda表达式调用的无参无返回值方法"); }); useShowTest1((int num) -> { System.out.println("我是Lambda表达式调用的有参无返回值方法"); }); int a = useRandomNumTest(() -> { Random r = new Random(); int num = r.nextInt(10) + 1; return num; }); System.out.println("我是Lambda表达式调用的无参有返回值方法返回的结果----" + a); int z = useCalculatorTest((int m, int n) -> { return m - n; }); System.out.println("我是Lambda表达式调用的有参有返回值方法返回的结果----" + z); String s = useOmissionTest(msg -> "这是Lambda表达式的省略格式。。。"); System.out.println(s); } public static void useShowTest(ShowTest s) { s.show(); } public static void useShowTest1(ShowTest1 s1) { s1.show1(10); } public static int useRandomNumTest(RandomNumTest r) { return r.getNum(); } public static int useCalculatorTest(CalculatorTest c) { return c.calc(28, 10); } public static String useOmissionTest(OmissionTest o) { return o.omission(""); } } interface ShowTest { void show(); } interface ShowTest1 { void show1(int num); } interface RandomNumTest { int getNum(); } interface CalculatorTest { int calc(int m, int n); } interface OmissionTest { String omission(String msg); }
标签:return,int,static,public,表达式,Lambda From: https://www.cnblogs.com/weiduaini/p/17184488.html