Java forEach() 方法的三种用法

当使用 List 的 forEach() 方法时,该方法需要接收一个 Consumer 对象。最传统的方法,我们可以通过匿名类实现此函数式接口。也可以使用lamda表达式替代匿名类的使用。如果需要实现的方法已经存在(比如我们只想打印 List 中的内容),则可直接使用方法引用。

下面是实战代码:

import java.util.ArrayList;
import java.util.List;
import java.util.function.Consumer;

/**
 * @author CoveyLiu, covey@liukedun.com
 * @date 2019-08-13 11:54
 */

public class Generic {

    // Java 匿名类、lambda表达式、方法引用 的使用
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>();
        list.add(123);
        printList(list);
        List<String> list2 = new ArrayList<>();
        list2.add("string");
        printList2(list2);
        List<Boolean> list3 = new ArrayList<>();
        list3.add(true);
        printList3(list3);
    }
 
    /* printList() 的作用是使用 forEach() 方法打印List内容 */

    // 使用匿名类
    private static void printList(List<?> list) {
        list.forEach(new Consumer<Object>() {
            @Override
            public void accept(Object o) {
                System.out.println(o);
            }
        });
    }

    // 使用lambda表达式替代匿名类的使用
    private static void printList2(List<?> list) {
        list.forEach(o -> System.out.println(o));
    }

    // 对于已有的方法,可使用方法引用,这里直接引用println() 静态方法 打印内容
    private static void printList3(List<?> list) {
        list.forEach(System.out::println);
    }

}

输出结果

123
string
true

有帮助到你的就点赞、收藏一下吧

                                                                        需要更多教程,微信扫码即可

                                                                                

                                                                                         👆👆👆

                                                        别忘了扫码领资料哦【高清Java学习路线图】

                                                                     和【全套学习视频及配套资料】
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值