第一次看到System.out::println使用
Student s1 = new Student(1, "sam", 11, 1, 7600);
Student s2 = new Student(2, "Amy", 12, 0, 9000);
Student s3 = new Student(3, "Daming", 10, 1, 8760);
Student s4 = new Student(4, "LingLing", 9, 0, 8706);
Student s5 = new Student(6, "Jack", 14, 1, 18706);
List<Student> students = Arrays.asList(s1, s2, s3, s4, s5);
students.stream().forEach(System.out::println);
遍历集合中所有元素
理解
1.把student转换成流运算
2.调用流中的forEach方法
3.输出所有元素
这里stream中的foreach中传的是一个消费性的接口,是函数式接口就可以写成lambda表达式
// 通过stream流调用forEach方法,
System.out.println("========1=========");
students.stream().forEach(new Consumer<Student>() {
@Override
public void accept(Student student) {
System.out.println(student);
}
});
System.out.println("========2=========");
students.stream().forEach((a)-> System.out.println(a));
然后我们对(a)-> System.out.println(a)再次进行优化我们就要理解System.out.println()的每个结构
System代表一个类(图片来自官方文档 )
System.out相当于类.静态常量
在PrintStream中有println等一系列方法
通过方法引用中对象::实例方法
System.out.println("========3=========");
students.stream().forEach(System.out::println);