zoukankan      html  css  js  c++  java
  • Java8之Consumer接口

    Consumer:代表了接受一个输入参数并且无返回的操作,相当于消费者。

    函数式接口介绍

    从JDK8开始java支持函数式编程,JDK也提供了几个常用的函数式接口,例如Consumer接口。函数式接口(Functional Interface)就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。Java为函数式接口引入了一个新注解@FunctionalInterface,主要用于函数式接口编译级错误检查。函数式接口可以被隐式转换为lambda表达式。

    查看源码

    package java.util.function;
    import java.util.Objects;
    
    @FunctionalInterface
    public interface Consumer<T> {
        void accept(T t);
    
        default Consumer<T> andThen(Consumer<? super T> after) {
            Objects.requireNonNull(after);
            return (T t) -> { accept(t); after.accept(t); };
        }
    }
    

    测试

    import java.util.function.Consumer;
    public class Test {
        public static void printInfo(String[] strArr, Consumer<String> con1, Consumer<String> con2){
            for (int i = 0; i < strArr.length; i++) {
                con1.andThen(con2).accept(strArr[i]);
            }
    
        }
    
        public static void main(String[] args) {
            String[] strArr = {"费哥哥,女","欢欢姐,女","娇娇妹,女"};
            printInfo(strArr,(message)->{
                System.out.print("姓名:" + message.split(",")[0] + "。  ");
            },(message)->{
                System.out.println("性别:" + message.split(",")[1] + "。");
    
            });
        }
    }
    结果:
    姓名:费哥哥。  性别:女。
    姓名:欢欢姐。  性别:女。
    姓名:娇娇妹。  性别:女。
    
  • 相关阅读:
    Debian 添加用户
    如何让安卓手机访问内网服务器?
    数据库权限
    CentOs
    批量导入sql文件。
    使用Navicat Premium连接mysql数据库
    git 合包
    linux 下文件打包
    git 分支管理
    gcc8.2安装
  • 原文地址:https://www.cnblogs.com/feiqiangsheng/p/11222046.html
Copyright © 2011-2022 走看看