Java에서 함수를 인수로 전달
Java에서 함수를 인수로 전달하는 기능은 코드의 다양성을 향상시킵니다. 이를 달성하기 위해서는 사용 중인 Java 버전에 따라 다양한 접근 방식이 있습니다.
Java 8 이상
Java 8에 람다 표현식이 등장하면서 인수로서의 함수는 간단해집니다. 람다 표현식을 사용하면 단일 추상 방법(SAM) 인터페이스를 구현하는 익명 함수를 정의할 수 있습니다. 예를 들어 다음 인터페이스를 정의할 수 있습니다.
public interface MyInterface { String doSomething(int param1, String param2); }
MyInterface 유형의 인수를 허용하는 메서드 내에서 이제 람다 식을 사용하여 다음과 같이 함수를 전달할 수 있습니다.
class MyClass { public MyInterface myInterface = (p1, p2) -> { return p2 + p1; }; }
Java 8 이전
Java 8 이전에는 일반적인 접근 방식을 통과했습니다. 함수를 인수로 사용하는 것은 Callable과 같은 인터페이스 내에 함수를 캡슐화하는 것이었습니다. 다음 메소드를 고려하십시오.
public T myMethod(Callable<T> func) { return func.call(); }
이 메소드는 T 유형의 값을 반환하는 함수를 나타내는 Callable 유형의 인수를 허용합니다. Callable 구현을 정의하여 함수를 캡슐화하고 이를 myMethod에 대한 인수입니다.
사용 예:
인수로 전달하려는 methodToPass라는 메서드를 사용하는 경우 다음과 같이 Callable 구현을 생성할 수 있습니다.
public int methodToPass() { // do something } public void dansMethod(int i, Callable<Integer> myFunc) { // do something }
그런 다음 Callable 구현으로 dansMethod 메서드를 호출합니다.
dansMethod(100, new Callable<Integer>() { public Integer call() { return methodToPass(); } });
결론:
이러한 접근 방식은 Java에서 함수를 인수로 전달하는 다양한 방법을 제공합니다. Java 버전 및 특정 요구 사항에 따라 다릅니다. 이러한 기술을 이해하면 Java 코드의 유연성과 재사용성을 향상시킬 수 있습니다.
위 내용은 Java에서 함수를 인수로 전달하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!