理解System.out::println

这篇博客介绍了如何使用Java Stream API的forEach方法结合方法引用来简洁地遍历并打印集合中的元素。文章通过实例展示了将传统匿名内部类的方式替换为Lambda表达式和方法引用,使得代码更加简洁易读。此外,还解释了System.out.println()中的System类和PrintStream类的关系,以及如何通过`System.out::println`实现方法引用。
摘要由CSDN通过智能技术生成

第一次看到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);

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值