接受范围:
匿名类简写
new Thread( () -> System.out.println("In Java8, Lambda expression rocks !!") ).start(); // 用法 (params) -> expression (params) -> statement (params) -> { statements }
forEach
// forEach List features = Arrays.asList("Lambdas", "Default Method", "Stream API", "Date and Time API"); features.forEach(n -> System.out.println(n)); // 使用Java 8的方法引用更方便,方法引用由::双冒号操作符标示, features.forEach(System.out::println);
方法引用
构造方法引用 =》 // Supplier<Student> s = () -> new Student(); Supplier<Student> s = Student::new; 实例方法的引用 =》 对象::实例方法 // set.forEach(t -> System.out.println(t)); set.forEach(System.out::println); 静态方法 =》 类名::静态方法 // Stream<Double> stream = Stream.generate(() -> Math.random()); Stream<Double> stream = Stream.generate(Math::random); 类名::实例方法