>Java >java지도 시간 >익명 내부 클래스 또는 람다 표현식을 사용하여 Java에서 함수 포인터를 어떻게 시뮬레이션할 수 있습니까?

익명 내부 클래스 또는 람다 표현식을 사용하여 Java에서 함수 포인터를 어떻게 시뮬레이션할 수 있습니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-20 13:39:22720검색

How Can I Simulate Function Pointers in Java Using Anonymous Inner Classes or Lambda Expressions?

Java에서 함수 포인터로서의 기능적 인터페이스

Java에서는 함수 포인터를 사용할 수 없는 경우 익명 내부 클래스 또는 람다 표현식이 적합한 대안으로 사용됩니다. .

익명 내부 클래스

유사한 작업을 수행하지만 한 줄의 계산에서 약간씩 다른 메서드가 필요하다고 상상해 보세요. 익명 내부 클래스를 사용하여 이를 구현하려면:

  1. 캡슐화하려는 함수가 포함된 인터페이스를 정의합니다.
interface StringFunction {
    int func(String param);
}
  1. 인터페이스 인스턴스를 매개변수로 사용합니다.
public void takingMethod(StringFunction sf) {
    int i = sf.func("my string");
    // Operations...
}
  1. 익명 내부 클래스를 사용하여 메서드를 호출합니다.
ref.takingMethod(new StringFunction() {
    public int func(String param) {
        // Implementation...
    }
});

Lambda 표현식( Java 8 )

구문적으로 더 간단하므로 람다 표현식을 활용하여 동일한 결과를 얻을 수 있습니다.

ref.takingMethod(param -> {
    // Implementation...
});

익명 내부 클래스 또는 람다 표현식을 활용하여 다음에서 함수 포인터를 생성할 수 있습니다. 코드 재사용성과 유연성을 향상시키는 Java.

위 내용은 익명 내부 클래스 또는 람다 표현식을 사용하여 Java에서 함수 포인터를 어떻게 시뮬레이션할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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