[JDK 8-Functional Programming] 4.3 Consumer

1. Consumer interface

2. Use

Stage 1: Create methods and implement Consumer interface

Stage 2: Calling the method

Stage 3: Execution results

3. List’s foreach

Results of the


1. Consumer interface

  • Consumption interface:  takes T as input and has no return value

  • Calling method: void accept(T t);

  • Usage: Because there are no parameters, it is often used for consumption actions such as printing and sending text messages.

  • Typical application, set foreach

/**
 *
 * @param <T> the type of the input to the operation
 */
@FunctionalInterface
public interface Consumer<T> {
    void accept(T t);
}

2. Use

Stage 1: Create methods and implement Consumer interface

    public static void sendMsg(String phone, Consumer<String> consumer) {
        consumer.accept(phone);
    }

Stage 2: Calling the method

import java.util.Arrays;
import java.util.List;
import java.util.function.Consumer;

@Slf4j
public class ConsumerFunc {
    public static void main(String[] args) {
        Consumer<String> consumer = obj -> {
            log.info(obj);
            log.info("调用短信接口、发送短信、打印日志等");
        };
        sendMsg("134XXXXXXXX", consumer);

    }

    public static void sendMsg(String phone, Consumer<String> consumer) {
        consumer.accept(phone);
    }
}

Stage 3: Execution results

3. List’s foreach

import java.util.Arrays;
import java.util.List;
import java.util.function.Consumer;

@Slf4j
public class ConsumerFunc {
    public static void main(String[] args) {
        List<String> list = Arrays.asList("aaa", "bbb", "ccc", "ddd");
        list.forEach(s -> log.info(s));

    }
}

Results of the

Guess you like

Origin blog.csdn.net/ladymorgana/article/details/132984904