
lamda表达式主要是为了解决匿名内部类的繁琐过程
范例:简单的lamda表达式
此处使用匿名内部类
package com.java.demo;
interface IMessage{
public void print();//抽象方法
}
public class TestDemo{
public static void main(String args[]){
//使用给匿名内部类实现print()方法
fun(new IMessage(){
public void print(){
System.out.println("hello word");
}
});
}
public static void fun(IMessage msg){
msg.print();
}
}
通过lamda表达式代替匿名内部类
package com.java.demo;
interface IMessage{
public void print();//抽象方法
}
public class TestDemo{
public static void main(String args[]){
//使用给匿名内部类实现print()方法
fun(()->System.out.print("hello word"));
}
public static void fun(IMessage msg){
msg.print();
}
}
lamda表达式的三种形式.
([参数])->单行语句
([参数])->{多行行语句}
([参数])->表达式
package com.java.demo;
interface IMessage{
public int print(int x,int y);//抽象方法
}
public class TestDemo{
public static void main(String args[]){
IMessage p =(x,y)-> x + y; //返回IMessage对象
System.out.print(p.print(10, 20));
}
}