对于Lamda语法有三种形式:
·(参数)->单行语句;
·(参数)->{单行语句};
·(参数)->表达式。
范例1:单行语句
interface Message {
public abstract void print();
}
public class Demo {
public static void main(String[] args) {
fun(() -> System.out.println("Hello!"));
}
public static void fun(Message msg) {
msg.print();
}
}
=============分割线=============
范例2:单行语句
interface Message {
public abstract void print(String str);
}
public class Demo {
public static void main(String[] args) {
fun((s) -> System.out.println(s));
}
public static void fun(Message msg) {
msg.print("Hello World");
}
}
=============分割线=============
范例3:多行语句
interface Message {
public abstract void print(String str);
}
public class Demo {
public static void main(String[] args) {
fun((s) -> {
s = s.substring(0, 4).toUpperCase();
System.out.println(s);
});
}
public static void fun(Message msg) {
msg.print("Hello World");
}
}
=============分割线=============
范例3:表达式
interface Message {
public abstract int add(int x, int y);
}
public class Demo {
public static void main(String[] args) {
fun((s1, s2) -> s1 + s2);
}
public static void fun(Message msg) {
System.out.println(msg.add(10, 90));
}
}
