Übergeben Sie eine Methode als Parameter in Java
-
Übergeben Sie eine Methode als Parameter mit der Funktion
lambda
in Java - Übergeben Sie eine Methode als Parameter an eine benutzerdefinierte Methode in Java
- Übergeben Sie eine Methode als Parameter mithilfe der Methodenreferenz in Java
In diesem Tutorial wird die Übergabe einer Methode als Parameter in Java eingeführt. Damit Sie dieses Thema besser verstehen, haben wir Beispielcodes eingefügt.
Es gibt kein Konzept einer Übergabemethode als Parameter in Java von Grund auf. Dies können wir jedoch erreichen, indem wir die Lambda-Funktion und die Methodenreferenz in Java 8 verwenden. In diesem Artikel konzentrieren wir uns daher mehr auf diese beiden Themen, um eine Methode als Parameter zu übergeben.
Die Lambda-Funktion oder der Lambda-Ausdruck ist ein Konzept, das in Java 8 eingeführt wurde. Es ist eine kurze Möglichkeit, eine Funktion zu schreiben, indem man dem Ansatz des funktionalen Stils folgt. Da Java und Java 8 als objektorientierte Sprachen gelten, unterstützen sie den funktionalen Ansatz zum Schreiben des Codes.
Übergeben Sie eine Methode als Parameter mit der Funktion lambda
in Java
Dies ist ein einfaches Beispiel für Lambda, wo wir es verwenden, um die ArrayList
-Elemente zu iterieren. Beachten Sie, dass wir die Lambda-Funktion an die Methode forEach()
der Schnittstelle Iterable
übergeben. Die Klasse ArrayList
implementiert die Schnittstelle Iterable
.
So können wir eine Methode (Lambda-Funktion) als Parameter in Java übergeben:
public class SimpleTesting {
public static void main(String[] args) {
ArrayList<Integer> evens = new ArrayList<Integer>();
evens.add(10);
evens.add(20);
evens.add(30);
evens.add(40);
evens.forEach((n) -> { System.out.println(n); }); // passing lambda as a parameter
}
}
Ausgabe:
10
20
30
40
Übergeben Sie eine Methode als Parameter an eine benutzerdefinierte Methode in Java
Abgesehen von der eingebauten Methode forEach()
können wir sie als Parameter an eine benutzerdefinierte Methode übergeben. In diesem Beispiel haben wir eine Schnittstelle Doable
mit einer Methode doSomething()
erstellt. In der Klasse SimpleTesting
haben wir eine Methode show()
, die die Methode doSomething()
aufruft. Innerhalb der Methode main() haben wir eine Lambda-Funktion erstellt und an die Methode show()
übergeben.
Beachten Sie, dass dies die Zeile ist, in der wir eine Methode (Lambda-Funktion) als Parameter an eine Methode übergeben.
show("Hello", doa); // passing lambda function as parameter
interface Doable {
String doSomething(String str);
}
public class SimpleTesting {
public static void main(String[] args) {
Doable doa = (str) -> str + " Rohan";
show("Hello", doa); // passing lambda function as parameter
}
public static void show(String msg, Doable doa) {
String greeting = doa.doSomething(msg);
System.out.println(greeting);
}
}
Ausgabe:
Hello Rohan
Übergeben Sie eine Methode als Parameter mithilfe der Methodenreferenz in Java
Dies ist eine weitere Lösung, die verwendet werden kann, um eine Methode als Parameter an eine Methode zu übergeben. Es wurde auch mit der Lambda-Funktion in der Java 8-Version eingeführt. In diesem Beispiel haben wir das Konzept der Methodenreferenz verwendet, um die Methode show()
als Parameter an den Konstruktor Thread()
zu übergeben, der zur Laufzeit ausgeführt wird. Sehen Sie sich die Ausgabe des Codebeispiels hier an:
public class SimpleTesting {
public static void main(String[] args) {
// Passing method reference as a parameter
Thread thread = new Thread(SimpleTesting::show);
thread.start();
}
public static void show() {
System.out.println("My Thread");
}
}
Ausgabe:
My Thread