Consumer接口族

2022-06-07  本文已影响0人  engineer_tang

1. BiConsumer接口

可以接受两个入参的Consumer接口,表示接受两个输入参数但不返回结果的操作。这就是消费者的双重专业化。与大多数其他功能界面不同,双消费者预期通过副作用进行操作。这是一个函数式接口,其函数方法是accept(Object, Object)。

    public static void main(String args[]) {
        List<String> list = new ArrayList<>();
        list.add("21");
        list.add("93");
        list.add("35");
        list.add("135");
        list.add("65");
        wrapperString(list, 100, (list1, minNum) -> {
            int i = 0;
            for (String s : list1) {
                Integer current = Integer.parseInt(s);
                if (current > minNum) {
                    s = s + "a";
                    list1.set(i, s);
                }
                i++;
            }
        });
        System.out.println("new list: " + list);
    }

    public static void wrapperString(List<String> list, Integer minNum, BiConsumer<List<String>, Integer> consumer) {
        consumer.accept(list, minNum);
    }

2. Consumer接口

表示接受单个输入参数但不返回结果的操作。与大多数其他功能界面不同,消费者需要通过副作用进行操作。
这是一个函数式接口,其函数方法是是accept(Object)。

3. DoubleConsumer接口

表示接受单个double参数且不返回结果的操作。这是消费者的原始型专业化。与大多数其他功能接口不同,DoubleConsumer预期通过副作用进行操作。
这是一个函数式接口,其函数方法是accept(double)。

4. IntConsumer接口

指定入参为int的Consumer接口。

5. LongConsumer接口

指定入参为long的Consumer的接口

6. ObjDoubleConsumer接口

表示接受对象值和double参数且不返回结果的操作。这是BiConsumer的(reference, double) 特化。与大多数其他功能接口不同,ObjDoubleConsumer预期通过副作用进行操作。

这是一个函数接口,其函数方法为accept(Object,double)。

7. ObjIntConsumer接口

参考如上

8. ObjLongConsumer接口

参考如上

上一篇 下一篇

猜你喜欢

热点阅读