首先附上几个简单的例子,然后给了将非lambda改造成lambda的方法,详情如下.
1.话不多说,直接上(无参无返回)
public class CustomerInterfaceTest {
public static void main(String[] args) {
//使用
handle(()-> System.out.println("呀!我是lambda1"));
handle(()-> System.out.println("呀!我是lambda2"));
}
//定义方法
static void handle(CustomerConsumer customerConsumer){
customerConsumer.accept();
}
//定义接口
interface CustomerConsumer{
void accept();
}
}
2.有参数有返回
public class CustomerInterfaceTest {
public static void main(String[] args) {
//使用
handle((str)-> System.out.println("呀!我是lambda1和"+str),"string1");
handle((str)-> System.out.println("呀!我是lambda2和"+str),"string2");
}
//定义方法
static void handle(CustomerConsumer customerConsumer,String string){
customerConsumer.accept(string);
}
//定义接口
interface CustomerConsumer{
void accept(String string);
}
}
public class CustomerInterfaceTest {
public static void main(String[] args) {
//使用
handle((str)-> System.out.println("呀!我是lambda1和"+str));
handle((str)-> System.out.println("呀!我是lambda2和"+str));
}
//定义方法
static void handle(CustomerConsumer customerConsumer){
customerConsumer.accept("string");
}
//定义接口
interface CustomerConsumer{
void accept(String string);
}
}
3.有参有返回
public class CustomerInterfaceTest {
public static void main(String[] args) {
//使用
handle((str)-> "呀!我是lambda1和"+str);
handle((str)-> "呀!我是lambda2和"+str);
}
//定义方法
static String handle(CustomerConsumer customerConsumer){
String string = customerConsumer.accept("string");
return string;
}
//定义接口
interface CustomerConsumer{
String accept(String string);
}
}
4.方法改造
注意下图中的4个黑色图标,图标1是原方法,现在要将其改造成函数式接口,从而可以使用lambda表达式
按照图中红色字从上往下一步一步来即可,图片为引用,如有侵权,联系我,会删除