(parameters) -> expression
或
(parameters) ->{ statements; }
public interface IFlower {
String getColor(String flowerName);
}
IFlower flower = (String name) -> {if(name == "rose") return "red"; else return "unkonwn";};
System.out.println(flower.getColor("rose")); //打印:red
编译器知道IFlower接口只有一个方法getColor(),所以getColor()方法肯定对应(String name) -> {if(name == "rose") return "red"; else return "unkonwn";},而且getColor()方法只有一个String类型的参数,所以(String name) -> {if(name == "rose") return "red"; else return "unkonwn";}中的String name就是这个参数了。
http://www.runoob.com/java/java8-lambda-expressions.html http://www.cnblogs.com/feichexia/archive/2012/11/15/Java8_LambdaExpression.html