© S&S Media Group
Kotlin kompakt - Teil 6

Java-Interoperabilität und Unterschiede


Java-Interoperabilität

Man kann von Kotlin aus bestehenden Java-Code verwenden und umgekehrt.

Eine Mischung von Kotlin-Code, Java-Code und Java-Bibliotheken im selben Projekt ist problemlos möglich.

Eine sehr wichtige Eigenschaft von Kotlin ist eine äußerst weitgehende Interoperabilität mit Java. Besonders wertvoll ist dabei, dass man in Kotlin so gut wie jedes existierende Java-Framework und Java-Bibliotheken wie gewohnt weiter verwenden kann.

So muss man auch mit Kotlin nicht auf slf4j, Guava, Apache Commons, Tomcat, Jetty und die unzähligen weiteren Perlen des Java-Ökosystems verzichten!

Mischen possible

Der Kotlin-Compiler kann sowohl Kotlin-Code als auch Java-(Byte-)Code verarbeiten (obwohl für das eigentliche Kompilieren von Java-Code noch dessen Compiler notwendig ist). Somit ist es problemlos möglich, beide Sprachen in ein- und demselben Projekt zu verwenden.

Insbesondere während des Einstiegs in Kotlin, und bei einer (großen) bestehenden Java-Codebasis, ist es ein echter Pluspunkt, dass man nicht gezwungen ist, bewährten Code zu konvertieren. Vielmehr bietet es sich an, neue Komponenten in Kotlin zu entwickeln und dabei auf Bestandscode einfach zuzugreifen.

Natürlich kann man später auch bestehenden Java-Code in Kotlin überführen, um von dessen zahlreichen Vorteilen zu profitieren.

Für diesen Zweck existieren Tools/Plugins, die Java-Code vollautomatisch in Kotlin-Code umwandeln. Das funktioniert in den meisten Fällen sehr gut, auch wenn häufig kein idealer Kotlin-Code dabei herauskommt und ein wenig Feintuning notwendig ist.

Kotlin zur Laufzeit

Der einzige Unterschied zur Laufzeit auf der JVM ist, dass man eine zusätzliche .jar-Bibliothek (kotlin-stdlib.jar) einbinden muss - nichts weiter.

Kein Semikolon notwendig

In Kotlin ist ein ; am Ende eines Statements (so gut wie) nie notwendig.

Im Gegensatz zu Java und anderen Sprachen erkennt der Kotlin-Compiler das Ende eines Statements meist auch ohne explizites ; - zum Beispiel durch einen Zeilenumbruch.

Die generelle Regel in Kotlin lautet somit, auf Semikolons zu verzichten.

Zwei (marginale) Ausnahmen sind dabei zu beachten:

Mehrere Ausdrücke in derselben Zeile

Möchte man mehrere Ausdrücke innerhalb einer Zeile notieren, werden diese mit ; getrennt.

val a = 42;println(a) 

Semikolon nach Enum-Konstanten

Möchte man einer Enum-Klasse Properties oder Funktionen hinzufügen, muss man ihre Konstanten mit einem ; vom restlichen Rumpf abtrennen:

enum class Weekdays { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRID...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Gewinner-Teams

Wir bieten Lizenz-Lösungen für Teams jeder Größe: Finden Sie heraus, welche Lösung am besten zu Ihnen passt.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang