Heim > Java > javaLernprogramm > Wie kann ich in Java Funktionen als Argumente übergeben?

Wie kann ich in Java Funktionen als Argumente übergeben?

Barbara Streisand
Freigeben: 2024-12-14 04:18:09
Original
369 Leute haben es durchsucht

How Can I Pass Functions as Arguments in Java?

Funktionen als Argumente in Java übergeben

In Java erhöht die Möglichkeit, Funktionen als Argumente zu übergeben, die Vielseitigkeit von Code. Um dies zu erreichen, gibt es abhängig von der von Ihnen verwendeten Java-Version verschiedene Ansätze.

Java 8 und höher

Mit dem Aufkommen von Lambda-Ausdrücken in Java 8, vorbei Funktionen als Argumente werden einfach. Mit Lambda-Ausdrücken können Sie anonyme Funktionen definieren, die eine SAM-Schnittstelle (Single-Abstract-Method) implementieren. Sie können beispielsweise die folgende Schnittstelle definieren:

public interface MyInterface {
    String doSomething(int param1, String param2);
}
Nach dem Login kopieren

Innerhalb einer Methode, die ein Argument vom Typ MyInterface akzeptiert, können Sie jetzt Lambda-Ausdrücke verwenden, um eine Funktion wie folgt zu übergeben:

class MyClass {
    public MyInterface myInterface = (p1, p2) -> { return p2 + p1; };
}
Nach dem Login kopieren

Vor Java 8

Vor Java 8 bestand der übliche Ansatz zur Übergabe von Funktionen als Argumente darin Kapseln Sie sie in einer Schnittstelle wie Callable. Betrachten Sie die folgende Methode:

public T myMethod(Callable<T> func) {
    return func.call();
}
Nach dem Login kopieren

Diese Methode akzeptiert ein Argument vom Typ Callable, das eine Funktion darstellt, die einen Wert vom Typ T zurückgibt. Sie können eine Callable-Implementierung definieren, um Ihre Funktion zu kapseln und als zu übergeben Argument für myMethod.

Beispielverwendung:

Wenn Sie eine Methode aufgerufen haben methodToPass, die Sie als Argument übergeben möchten, können Sie wie folgt eine Callable-Implementierung erstellen:

public int methodToPass() {
    // do something
}

public void dansMethod(int i, Callable<Integer> myFunc) {
    // do something
}
Nach dem Login kopieren

Und dann die dansMethod-Methode mit der Callable-Implementierung aufrufen:

dansMethod(100, new Callable<Integer>() {
    public Integer call() {
        return methodToPass();
    }
});
Nach dem Login kopieren

Fazit:

Diese Ansätze bieten unterschiedliche Möglichkeiten, Funktionen als Argumente in Java zu übergeben, abhängig von Ihrer Java-Version und spezifisch Anforderungen. Durch das Verständnis dieser Techniken können Sie die Flexibilität und Wiederverwendbarkeit Ihres Java-Codes verbessern.

Das obige ist der detaillierte Inhalt vonWie kann ich in Java Funktionen als Argumente übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage