Stage 1: Create methods and implement Consumer interface
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));
}
}