常用的函数式接口Consumer接口方法accept


package com.chunzhi.Test05Consumer;

import java.util.function.Consumer;

/*
    java.util.function.Consumer<T>接口正好与Supplier接口相反
        它不是生产一个数据,而是消费一个数据,其数据类型由泛型决定
    Consumer接口中包含抽象方法void accept(T t),意为消费一个指定泛型的数据。

    Consumer接口是一个消费型接口,泛型指定什么类型,就可以使用accept方法消费什么类型的数据
    至于具体怎么消费(使用),需要自定义
 */
public class Test01Consumer {
    /*
        定义一个方法
        方法的参数传递一个字符串的姓名
        方法的参数传递Consumer接口,泛型使用String
        可以使用Consumer接口,消费字符串的姓名
     */
    public static void method(String name, Consumer<String> con) {
        con.accept(name);
    }

    public static void main(String[] args) {
        // 调用method方法,传递字符串姓名,方法的另一个参数是Consumer接口,是一个函数式接口,所以可以传递Lambda表达式
        method("八级大狂风", (String name) -> {
            // 对传递的字符串进行消费
            // 消费方式:直接输出字符串
            System.out.println(name);

            // 消费方式:把字符串反转输出
            String reName = new StringBuffer(name).reverse().toString();
            System.out.println(reName);
        });
    }
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM