欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

生物消费者的 JDK8 功能接口

最编程 2024-05-04 19:59:43
...

「这是我参与2022首次更文挑战的第14天,活动详情查看:2022首次更文挑战

写在前面

JDK8 API提供了很多函数式接口,这些函数式接口可以被抽象成一个具体的方法,并且使其使用在Lambda表达式中,今天我们要来说的就是其中的BiConsumer函数接口。

JDK8函数式接口之BiConsumer

今天主要是来看一下函数式接口中的BiConsumer函数接口,下面就看一下吧。

首先我们先来看一下BiConsumer函数接口的源码,如下代码:

@FunctionalInterface
public interface BiConsumer<T, U> {

    void accept(T t, U u);

    default BiConsumer<T, U> andThen(BiConsumer<? super T, ? super U> after) {
        Objects.requireNonNull(after);

        return (l, r) -> {
            accept(l, r);
            after.accept(l, r);
        };
    }
}

由上源码,我们可以看得出来,BiConsumer函数接口有着一个默认方法andThen,并且还实现了一个accept方法。

accept方法如何使用呢?

accept方法是很多函数接口中实现的方法了,一般都是执行的意思,并且执行的是该函数接口的一些特征功能,看一下下面的使用代码吧。

public static void main(String[] args) {
    BiConsumer<Integer, String> biConsumer = (a,b) ->{
        System.out.println(a + b);
    };
    biConsumer.accept(100, "分");
}

上述代码的执行结果是

100分

传入两个参数,然后我们可以任意使用这两个值作为逻辑的处理。

andThen方法如何使用呢?

那么andThen方法又如何使用,来看一下代码示例吧。

public static void main(String[] args) {
    BiConsumer<Integer, String> biConsumer = (a,b) ->{
        System.out.println(a + b);
    };
    BiConsumer<Integer, String> biConsumer1 = (a,b) ->{
        if(a == 100){
            System.out.println("这个是100!");
        }
    };
    biConsumer.andThen(biConsumer1).accept(100, "分");
}

上述代码中,我们可以得到的结果是,如下:

100分 这个是100!

其实andThen方法,就是在原来BiConsumer对象的基础上,再次执行一个BiConsumer对象,就像是同一组数据进行了多次逻辑的处理。

但是每次逻辑不会受到影响。

总结

今天我们来学习了BiConsumer函数接口的一些特征和具体的一些方法,相信大家也会其接口有了大概的理解,一起加油吧。

上一篇: git push

下一篇:

推荐阅读