Lambda Ausdrücke

caedezz

Mitglied
Guten Tag zusammen,

ich versuche momentan die mit Java 8 neu hinzugefügten Lambda Ausdrücke zu verstehen.
Dafür mal das ganz einfache (nicht unbedingt sinnvolle) Beispiel an einem simplen Hello World Programm, sollte dies als Lambda Ausdruck nicht in etwa so aussehen:
Java:
() -> {System.out.println("Hello World"); };
?

Es wird kein Parameter übergeben sondern einfach nur der Body ausgeführt oder nicht?
Wenn ich das aber nun in Eclipse ausführe (natürlich mit dem Interface Runnable r = davor) bekomme ich diese Ausgabe (mit syso(r) ): HelloWorldLambda$$Lambda$1/1175962212@24d46ca6

Bin mir noch nicht ganz sicher ob ich das alles richtig verstanden habe, ausserdem wie finde ich heraus welches das zur jeweiligen Funktion passende Interface ist? gibts da ne Übersicht irgendwo?
beispielsweise dafür wenn ich einfach zwei zuvor übergebene Parameter als Integers miteinander addieren möchte (als Lambda Ausdruck natürlich).

Vielen Dank im Voraus
 
So in etwa könnte das ganze aussehen, hier mal anhand eines Runnables :

Java:
public class Main{

	public static void main(String[] args){
		
		Runnable anonym = new Runnable(){
			
			@Override
			public void run(){
				System.out.println("Hallo Welt Alt");
			}
		};
		
		anonym.run();
		
		//keine Parameter, kein Anweisungsblock, nur einfache Anweisung ( keine {} )
		Runnable lambda= () -> System.out.println("Hallo Welt Neu");
		lambda.run();
		
		
		
	}
}

Ansonsten ist das hier ziemlich ausführlich erklärt :

Lambda Tutorial

Da hier ist mit der Wichtigste Bestandteil :

Code:
Argument List	Arrow Token	Body
(int x, int y)	->	x + y
 
Zuletzt bearbeitet:

Zurück
Oben