[java] 함수형 인터페이스를 사용하여 서로 다른 형식의 데이터를 합치는 방법은 어떻게 되나요?

다음은 두 개의 문자열을 받고 합쳐서 정수로 반환하는 예제입니다.

import java.util.function.BiFunction;

public class Main {
   public static void main(String[] args) {
       BiFunction<String, String, Integer> stringConcat = (s1, s2) -> (s1 + s2).length();

       String str1 = "Hello";
       String str2 = "World";

       int combinedLength = stringConcat.apply(str1, str2);
       System.out.println(combinedLength); // 출력: 10
   }
}

위의 예제에서는 BiFunction<String, String, Integer> 형식의 함수형 인터페이스를 정의했습니다. apply() 메서드를 사용하여 문자열 str1str2를 인자로 전달하고, 두 문자열을 합쳐서 길이 값을 반환하도록 구현했습니다.

주의할 점은 입력값과 반환값의 형식을 정확히 맞추어야 한다는 것입니다. BiFunction 인터페이스를 사용할 때는 입력값의 형식을 제네릭으로 명시하고, 반환값의 형식을 마지막 제네릭 파라미터로 명시해야 합니다.

함수형 인터페이스를 사용하면 여러 가지 형식의 데이터를 유연하게 합칠 수 있으므로, 다양한 상황에서 유용하게 활용할 수 있습니다.

참고 문서: