java [Java8高阶函数] #java8

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java [Java8高阶函数] #java8相关的知识,希望对你有一定的参考价值。

    @Test
    public void testCalculateDailySettlement() {
      
        loopDays(checkDate -> settlementManager.calculateDailySettlement(checkDate));

    }    
    
    //应用优先使用默认的接口函数,此处应当使用Consumer<T>
    public interface Block<T> {
        void apply(T t);
    }

    public void loopDays(Block<Date> block) {
        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.YEAR, 2018);
        calendar.set(Calendar.MONTH, Calendar.JUNE);
        calendar.set(Calendar.DATE, 25);

        Calendar july = Calendar.getInstance();

        do {
            Date checkDate = calendar.getTime();
            block.apply(checkDate);
            calendar.add(Calendar.DATE, 1);
        } while (calendar.before(july));
    }

以上是关于java [Java8高阶函数] #java8的主要内容,如果未能解决你的问题,请参考以下文章

Java8笔记十一(函数式编程)

java8的lamda有啥意义

Java8之Stream

Java 8 vs. Scala: Lambda表达式

Java8 中的 Stream 那么强大,那你知道它的原理是什么吗?

Java8 Stream 极大简化了代码,它是如何实现的?