美文网首页
2021-11-25 jave如何自己实现一个函数式接口

2021-11-25 jave如何自己实现一个函数式接口

作者: scoot929 | 来源:发表于2021-11-25 15:07 被阅读0次

我们都知道java8的stream 是通过函数式接口实现的
下面的例子实现一个分页的函数式接口

public interface PaginationInterface {
    /**
     *
     * @param func1 获取数据函数
     * @param func2 map每页的结果
     * @param needResult 是否需要查询之后的结果
     * @param <T> 结果类型
     * @param <R> 结果
     * @return
     */
    default <T, R> List<R> pagination(Function<Integer, Page<T>> func1, Function<Page<T>, List<R>> func2,
                                      boolean needResult) {
      int page = 0;
      List<R> result = new ArrayList<>();
      Page<T> sub;
      do {
        sub = func1.apply(page);
        if (needResult) {
          result.addAll(func2.apply(sub));
        } else {
          func2.apply(sub);
        }
        page++;
      } while (sub.hasNext());
      return result;
    }
}

使用的时候只需要

pagination(i -> dataRepository.findAll(PageRequest.of(i, SIZE)), this::handle, false);

具体每页的处理只需要放到handle函数中

相关文章

  • 2021-11-25 jave如何自己实现一个函数式接口

    我们都知道java8的stream 是通过函数式接口实现的下面的例子实现一个分页的函数式接口 使用的时候只需要 具...

  • Lambda表达式

    先看一个张图 函数式接口 接口中只有一个函数需要被实现的接口类型,我们叫它 函数式接口; @FunctionalI...

  • Java lambda表达式

    1. Java函数式接口 Java实现函数式编程的方式是函数式接口(functional interface),函...

  • java8 Lambda 表达式

    函数式接口 函数式接口是指接口中只有一个需要实现的方法。例如Runnable接口: Lambda 表达式 基本格式...

  • Lambda表达式和Stream

    基本概念 Lambda表达式只能实现函数式接口函数式接口就是只有一个抽象方法的接口除此之外,函数式接口可以有默认方...

  • 函数式接口

    为什么需要函数式接口? 在函数式编程思想下,允许把函数本身作为参数传入另一个函数。Java中使用函数式接口来实现“...

  • 实现一个Kotlin函数类型有多爽,你造吗?

    接口与函数类型 业务开发中,经常会有实现一个函数式接口(即接口只有一个方法需要实现)的场景,大家应该都会不假思索的...

  • 函数式接口

    函数式接口 Lambda基本语法:() -> 函数式接口 如果一个接口只有一个抽象方法,那么该接口就是一个函数式接...

  • 函数式接口 + Lambda实现函数指针

    坏味道: 坏味道:相同的代码多次出现 函数式接口 + Lambda实现类似功能: 函数式接口定义: 配合Lambd...

  • Java 8 知多少

    一、函数式接口 函数式接口的定义: 函数式接口(Functional Interface)就是一个有且仅有一个抽象...

网友评论

      本文标题:2021-11-25 jave如何自己实现一个函数式接口

      本文链接:https://www.haomeiwen.com/subject/cwoatrtx.html