java函数式编程之Consumer

来源:互联网 发布:世界地图 销售网络 编辑:程序博客网 时间:2024/06/16 02:13

描述:Consumer< T>接口接受一个T类型参数,没有返回值。

源码如下:

public interface Consumer<T> {    /**     * Performs this operation on the given argument.     *     * @param t the input argument     */    void accept(T t);}

测试代码如下:

@Testpublic void test(){    UserT userT = new UserT("zm");    //接受一个参数    Consumer<UserT> userTConsumer = userT1 -> userT1.setName("zmChange");};    userTConsumer.accept(userT);    logger.info(userT.getName());//输出zmChange}

java8以前的实现如下:

@Testpublic void test1(){    UserT userT = new UserT("zm");    this.change(userT);    logger.info(userT.getName());//输出zmChange}private void change(UserT userT){    userT.setName("zmChange");}

两相对比,使用函数式确实是要优雅一点。

0 0
原创粉丝点击