Java Lambda表达式
函数式接口
任何只有一个抽象方法的接口都是一个函数式接口
public interface Runable {
public abstract void run;
}
对于函数式接口,可以使用lambda表达式来构建对象
public class TestLambda {
public static void main(String[] args) {
Like l1 = new iLike();
l1.like();
// lambda
Like l2 = () -> System.out.println("i like lambda");
l2.like();
}
}
interface Like {
void like();
}
class iLike implements Like {
@Override
public void like() {
System.out.println("I like");
}
}
同时可以传参
public class TestLambda {
public static void main(String[] args) {
// lambda
Like l2 = (name) -> System.out.println("i like " + name);
l2.like("hello");
}
}
interface Like {
void like(String name);
}
最后还可以再lambda表达式基础上,简化参数类型(要去掉就都去掉)以及参数括号()(只有一个参数)与代码体括号{}(在代码体只有一行的情况)
浙公网安备 33010602011771号