首页 > 其他分享 >常用的函数式接口_Consumer接口的默认方法andThen和常用的函数式接口_Consumer接口练习_子符串拼接输出

常用的函数式接口_Consumer接口的默认方法andThen和常用的函数式接口_Consumer接口练习_子符串拼接输出

时间:2022-09-27 09:46:57浏览次数:52  
标签:con1 con2 函数 andThen 接口 Consumer String

常用的函数式接口_Consumer接口的默认方法andThen:

 Consumer接口的默认方法andThen

作用:需要两个Consumer接口,可以把两个Consumer接口组合到一起,在对数据进行消费

例如:

Consumer<String> con1

Consumer<String> con2

String s = "Hello";

con1.accept(s);

con2.accept(s);

连接两个Consumer接口 再进行消费

con1.andThen(con2).accept(s); 谁写前边谁先消费

public static void method(String s, Consumer<String> con1,Consumer<String> con2){
        //con1.accept(s)
        //con2.accept(s)
        //使用andThen方法,把两个Consumer接口连到一起,在消费数据
        con1.andThen(con2).accept(s);//con1连接con2,先执行con1消费数据,在执行con2消费数据
}

public static void main(String[] args) {
    //调用method方法,传递一个字符串,两个Lambda表达式
    method("Hello",
            (t)->{
                //消费方式:把字符串转换为大写输出
                System.out.println(t.toUpperCase());
            },
            (t)->{
                //消费方式:把字符串转换为小写输出
                System.out.println(t.toLowerCase());
       });

 

 

 

常用的函数式接口_Consumer接口练习_子符串拼接输出:

练习:字符串数组当中存有多条信息,请按照格式“姓名”:XX。的格式将信息打印出来

要求将打印姓名的动作作为一个Consumer接口的Lambda实例,

将打印性别的动作作为第二个Consumer接口的Lambda实例,

将两个Consumer接口按照顺序拼接到一起

//定义一个方法,参数传递String类型的数组和两个Consumer接口,泛型使用String
    public static void printInfo(String[] arr, Consumer<String> con1,Consumer<String> con2){
        //遍历字符串数组
        for (String message : arr){
            //使用andThen方法连接两个Consumer接口,消费字符串
            con1.andThen(con2).accept(message);
        }

public static void main(String[] args) {
    //定义一个字符串类型的数组
    String[] arr = {"摩斯,男","死神,男","神伤,女"};

    //调用printInfo方法,传递一个字符串数组,和两个Lambda表达式
    printInfo(arr,(message)->{
        //消费方式:对message进行切割,获取姓名,按照指定的格式输出
        String name = message.split(",")[0];
        System.out.println("姓名:"+name);
    },(message)->{
        //消费方式:对message进行切割,获取年龄,按照指定的格式输出
        String age = message.split(",")[1];
        System.out.println("。年龄:"+age+"。");
    });

 

标签:con1,con2,函数,andThen,接口,Consumer,String
From: https://www.cnblogs.com/hungui/p/16733403.html

相关文章

  • java 使用implements接口实现sort
    一、java是单继承,implements可以有多个我们可以以这样子的格式进行集成和尊从接口:classChild extendsParent implementsprotocol1, protocol2{};Child类继承了Pa......
  • 时间处理函数
    golang//格式化时间t1:=time.Now().Format("2006-01-0215:04:05")Nodejs//时间格式化constmoment=require('moment')//区分大小写moment().format("YYYY-......
  • 02抽象类与接口
    1.基础回顾+面试1.1抽象类什么是抽象类?答:1.父类知道子类一定要完成某个功能,但是每个子类完成的情况是不一样的2.子类以后也只会用自己重写的功能,那么父类的该功能就可......
  • 接口、抽象类区别
    接口、抽象类区别抽象类跟接口的区别......
  • 二、typescript类(二)构造函数、继承
    constructor构造函数:会在对象创建时调用,可以自定义对象的值1classDog{2name:string;3age:number;4bark(){5alert("汪!");6console.......
  • java 封装一个二分查询函数
    packageBinarySearch;importjava.lang.reflect.Array;publicclassTest{publicstaticvoidmain(String[]args){intarr[]={2,6,7,8,9,11,13,......
  • jQuery 里的 each() 是什么函数?
    each()函数,它允许你遍历一个元素集合。你可以传一个函数给each()方法,被调用的jQuery对象会在其每个元素上执行传入的函数。有时这个问题会紧接着上面一个问题,举个例......
  • 函数声明和函数表达式声明的区别
    函数声明:sum();//10functionsum(){console.log(10)}表达式声明   s();//报错sisnotafunction   vars=function(){console.log(20)}在预解析的过......
  • Python-函数-算术函数
    #python-函数-算术函数#(1)加减乘除#加法add(),减法subtract(),乘法multiply(),除法divide()#作用:数组间的加减乘除importnumpyasnpx=np.arange(9,dtype=......
  • TypeScript:函数
    接口中使用函数接口可以描述函数类型;为了使用接口表示函数类型,我们需要给接口定义一个调用签名。它就像是一个只有参数列表和返回值类型的函数定义。参数列表里面的每个参......