Formoat's Open Blog
함수적 인터페이스 - Consumer 본문
1. Consumer
1) 매개값만 있고 반환값은 없는 함수적 인터페이스
2) 매개값을 받아 소비하는 accept 메소드를 가지고 있다.
3) 매개변수타입, 수에 따라 아래와 같은 다양한 Consumer가 있다.
Interface Name | Abstract Method | Remarks |
Consumer<T> | void accept(T t) | 객체 T를 받아 소비 |
BiConsumer<T, U> | void accept(T t, U u) | 객체 T, U를 받아 소비 |
DoubleConsumer | void accept(double value) | double 값을 받아 소비 |
IntConsumer | void accept(int value) | int 값을 받아 소비 |
LongConsumer | void accept(long value) | long 값을 받아 소비 |
ObjDoubleConsumer<T> | void accept(T t, double value) | 객체 T, double 값을 받아 소비 |
ObjIntConsumer<T> | void accept(T t, int value) | 객체 T, int 값을 받아 소비 |
ObjLongConsumer<T> | void accept(T t, long value) | 객체 T, long 값을 받아 소비 |
<표> Consumer 함수적 인터페이스의 종류
ConsumerExample.java
public class ConsumerExample {
public static void main(String[] args) {
Consumer<String> consumer = str -> System.out.println(str + 8);
consumer.accept("JAVA");
BiConsumer<String, Integer> biConsumer = (str, i) -> System.out.println(str + i);
biConsumer.accept("JAVA", 8);
DoubleConsumer doubleConsumer = d -> System.out.println("파이:" + d);
doubleConsumer.accept(3.14);
IntConsumer intConsumer = i -> System.out.println("입력한 매개값:" + i);
intConsumer.accept(100);
LongConsumer longConsumer = l -> System.out.println("입력한 매개값:" + l);
longConsumer.accept(100000000);
ObjDoubleConsumer<String> objDoubleConsumer = (str, d) -> System.out.println(str + d);
objDoubleConsumer.accept("파이:", 3.14);
ObjIntConsumer<String> objIntConsumer = (str, i) -> System.out.println(str + i);
objIntConsumer.accept("입력한 매개값:", 100);
ObjLongConsumer<String> objLongConsumer = (str, l) -> System.out.println(str + l);
objLongConsumer.accept("입력한 매개값:", 100000000);
}
}
// 실행결과 //
----------------------------------------------------
JAVA8
JAVA8
파이:3.14
입력한 매개값:100
입력한 매개값:100000000
파이:3.14
입력한 매개값:100
입력한 매개값:100000000
'Java > Java Basic' 카테고리의 다른 글
함수적 인터페이스 - Operator (0) | 2019.09.03 |
---|---|
함수적 인터페이스 - Function (0) | 2019.09.03 |
함수적 인터페이스 - Supplier (0) | 2019.09.03 |
람다 표현식(Lambda Expression) (0) | 2019.09.03 |
자바 (0) | 2019.09.03 |
Comments