>Java >java지도 시간 >Java에서 함수 포인터 기능을 어떻게 얻을 수 있습니까?

Java에서 함수 포인터 기능을 어떻게 얻을 수 있습니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-19 04:27:02681검색

How Can I Achieve Function Pointer Functionality in Java?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.