java8函数式接口 生产者和消费者

  /**
     * 函数式接口
     * @param supplier  要去做什么事情 get获取到做的事情的返回值
     */
    public static void supplierTest(Supplier<Integer> supplier){
        Integer max = supplier.get();
        System.out.println(max);
    }

    /**
     * 消费者
     * @param consumer
     */
    public static void consumerTest(Consumer<Integer> consumer){
        consumer.accept(1);
    }

    /**
     * 消费者
     * @param consumer1
     * @param consumer2
     */
    public static void consumer(Consumer<String> consumer1,Consumer<String> consumer2){
        consumer1.andThen(consumer2).accept("???");
    }

    public static void main(String[] args) {
        supplierTest(()->{
            int arr[]={22,23,44,11,32,12,21};
            Arrays.sort(arr);
            return arr[arr.length-1];
        });

        consumerTest((msg)->{
            System.out.println(msg);
        });

        /**
         * 先处理msg1 然后处理 msg2
         */
        consumer(msg1->{
            System.out.println("msg1");
        }, msg2->{
            System.out.println("msg2");
        });
    }

 

posted @ 2022-11-01 23:31  花心大萝卜li  阅读(118)  评论(0)    收藏  举报