Java에서 함수를 매개변수로 전달
Java에서는 Java 8의 람다 표현식을 활용하여 함수를 인수로 전달할 수 있습니다. 단일 추상 메서드(SAM 유형)가 포함된 인터페이스로 작업할 때 람다 식을 대체하여 간결한 코드를 만들 수 있습니다. 예를 들면 다음과 같습니다.
interface MyInterface { String doSomething(int param1, String param2); } MyInterface myInterface = (p1, p2) -> { return p2 + p1; };
또는 메소드 참조가 더욱 깔끔한 구문을 제공할 수 있습니다.
new Thread(this::someMethod).start();
Java 8 이전 접근 방식
Java 8에서는 명령 패턴이 일반적으로 함수를 인수로 전달하는 데 사용되었습니다. 여기에는 Callable과 같은 인터페이스에 함수를 래핑하는 작업이 포함됩니다.
public T myMethod(Callable<T> func) { return func.call(); }
예:
public int methodToPass() { return 3; } public void dansMethod(int i, Callable<Integer> myFunc) { }
함수를 호출하려면 익명의 내부 클래스가 사용됩니다.
dansMethod(100, new Callable<Integer>() { public Integer call() { return methodToPass(); } });
이 접근 방식은 본질적으로 다른 언어의 함수 포인터와 동일하다는 점을 기억하세요.
위 내용은 Java에서 함수를 매개변수로 전달하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!