Java에서 함수 포인터 대신 사용할 수 있는 것
Java 프로그래밍 언어에서 함수 포인터는 함수를 전달할 수 있는 기능입니다. 다른 함수에 대한 인수로는 없습니다. 그러나 유사한 기능을 달성할 수 있는 대안이 있습니다.
실행 가능한 옵션 중 하나는 익명 내부 클래스입니다. 코드 한 줄의 작은 변형을 제외하고 동일한 작업을 수행하는 여러 메서드를 만들어야 한다는 점을 고려하세요. 익명 내부 클래스가 해결책을 제공합니다.
익명 내부 클래스를 활용하려면 전달될 메소드를 선언하는 인터페이스를 정의해야 합니다. 예를 들어 메소드가 문자열 매개변수를 사용하고 정수를 반환하는 경우 인터페이스는 다음과 유사합니다.
interface StringFunction { int func(String param); }
함수 포인터를 받아들이는 메서드는 다음과 같이 StringFunction 인터페이스의 인스턴스를 받아들입니다. 표시됨:
public void takingMethod(StringFunction sf) { int i = sf.func("my string"); // do whatever ... }
이 메소드를 호출하려면 다음과 같이 익명 내부 클래스를 사용하십시오.
ref.takingMethod(new StringFunction() { public int func(String param) { // body } });
Java 8 이상에서는 람다 표현식이 보다 간결한 대안을 제공합니다.
ref.takingMethod(param -> bodyExpression);
이를 통해 간결하고 읽기 쉬운 방식으로 함수를 인수로 전달하여 함수의 동작을 효과적으로 에뮬레이션할 수 있습니다. 포인터.
위 내용은 Java에서 함수 포인터 기능을 어떻게 얻을 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!