import java.util.function.Function;
public class z4 {
public static void main(String[] args) {
//
// Function<String, String> func = s -> {
//
// String result = s.concat("aa");
// result = s.toLowerCase();
// return result;
//
//
//
// };
Function<String, String> func = String::toString;
func = func.andThen(s->s.concat("AA"));
String result = func.apply("bbb");
System.out.println(result);
}
}
이 코드는 Java 8부터 도입된 함수형 프로그래밍을 활용하는 예제입니다.
Function 인터페이스는 입력값을 받아서 출력값을 반환하는 함수를 나타냅니다. 함수형 인터페이스이기 때문에 람다 표현식 또는 메서드 참조를 사용하여 구현할 수 있습니다.
위 코드에서는 String 클래스의 toString 메서드를 참조하여 Function 객체 func를 생성합니다. 이 함수는 입력값으로 String 객체를 받아서 toString 메서드를 호출하여 String 객체를 반환합니다. 즉, 이 함수는 입력값과 같은 문자열을 반환합니다.
andThen 메서드는 Function 객체의 결과값을 인자로 받아서 새로운 Function 객체를 반환합니다. 위 코드에서는 func 함수를 먼저 적용한 결과값에 "AA" 문자열을 추가하는 새로운 함수를 생성합니다.
apply 메서드는 Function 객체를 실행하여 결과값을 반환합니다. 위 코드에서는 입력값으로 "bbb" 문자열을 주어서 func 함수를 실행한 결과를 result 변수에 저장합니다. func 함수는 먼저 "bbb" 문자열을 toString 메서드로 변환하고, 그 결과에 "AA" 문자열을 추가하여 반환합니다. 따라서 result 변수에는 "bbbaa" 문자열이 저장됩니다.
결과적으로 이 코드는 입력값으로 주어진 문자열에 "AA"를 추가한 문자열을 반환하는 함수를 구현하고, 이 함수를 실행하여 "bbbaa" 문자열을 출력하는 예제입니다.
[Optional] Optional클래스 (0) | 2023.04.05 |
---|---|
[병렬스트림] 병렬에 대한 정보 (0) | 2023.04.05 |
[이넘] 윤달구하기 일수의 총합 (0) | 2023.04.05 |
[쓰레드 넘버프린트] wait notify 교대로 가다가 안되는거 해결 (0) | 2023.04.05 |
[람다 생성자연습] 영어학원 컴학원 (0) | 2023.04.05 |
댓글 영역