Das Wissensportal für IT-Professionals. Entdecke die Tiefe und Breite unseres IT-Contents in exklusiven Themenchannels und Magazinmarken.

SIGS DATACOM GmbH

Lindlaustraße 2c, 53842 Troisdorf

Tel: +49 (0)2241/2341-100

kundenservice@sigs-datacom.de

Java- und Kotlin-Lambdas im Vergleich

Bis Version 8 kam Java ohne Lambda-Ausdrücke aus beziehungsweise man musste sich mit anonymen inneren Klassen behelfen. Die alternative JVM-Sprache Kotlin hatte dagegen schon immer Lambda-Ausdrücke integriert. Wie unterscheiden sich die Lambda-Implementierungen von Java und Kotlin im Detail?

Praktisch alle Mainstream-Sprachen haben heutzutage Lambda-Ausdrücke [Wiki-a], siehe Tabelle 1.

Tabelle 1: Lambda-Ausdrücke

Syntaktisch fahren Java- und Kotlin-Lambdas ähnliche Schienen, die Semantik unterscheidet sich aber in zwei interessanten Detailfragen:

  • Dürfen umgebende lokale Variablen (das y in x -> x + y) verändert werden?
  • Wohin springt eine return-Anweisung aus einem Lambda zurück? Di…