public class lamdba {
public static void main(String[] args) {
// 传统的匿名内部类
//new 类名{} : 代表继承这个类
//new 接口名{} : 代表实现这个类
show(new A() {
@Override
public void show() {
System.out.println("匿名内部类..");
}
});
// 使用 Lambda 表达式
show(() -> System.out.println("Lambda 表达式.."));//(形参) -> {方法体}
}
public static void show(A a){
a.show();
}
}
interface A{
void show();
}
方法引用
Java 8 支持以下几种方法引用的形式:
1. 静态方法引用:引用静态方法,语法为 类名 :: 静态方法名。
2. 实例方法引用:引用实例方法,语法为 实例对象 :: 实例方法名。
3. 对象方法引用:引用特定对象的实例方法,语法为 类名 :: 实例方法名。
4. 构造函数引用:引用构造函数,语法为 类名 :: new。
// 使用方法引用
List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
names.forEach(System.out::println);
// 使用 Lambda 表达式作为参数传递给方法
List<String> names1 = Arrays.asList("Alice1", "Bob1", "Charlie1");
names1.forEach(name1 -> System.out.println(name1));