다음 코드를 보자.
public class SimpleFunctionExample {
public static void main(String[] args) {
double powResult = power(2, 3);
String result = formatResult(powResult);
System.out.println(result);
}
private static double power(int a, int b) {
return Math.pow(a, b);
}
private static String formatResult(double number) {
return "Result: " + number;
}
}
실행결과 Result: 8
power함수와 formatResult함수를 만들고 farmatResult(power(2,3)) 이렇게 중첩함수를 사용했다.
반면 BiFunction, Function을 사용하면 다음처럼 andThen, apply를 통해 함수형 프로그래밍으로 체이닝을 할 수 있다.
코드출처: https://codechacha.com/ko/java8-bifunction-example/
import java.util.function.BiFunction;
import java.util.function.Function;
public class BiFunctionExample2 {
public static void main(String[] args) {
BiFunction<Integer, Integer, Double> func1 = (a1, a2) -> Math.pow(a1, a2);
Function<Double, String> func2 = (a1) -> "Result: " + a1;
String result = func1.andThen(func2).apply(2, 3);
System.out.println(result);
}
}
실행결과는 동일하다.
반응형
'Programming > JAVA' 카테고리의 다른 글
reactor #1 (1) | 2024.01.01 |
---|---|
java Optional (1) | 2023.11.04 |
java enum (0) | 2023.11.03 |
IntelliJ 팁 (0) | 2023.11.03 |
java공부 (0) | 2023.08.12 |