In diesem Artikel möchte ich Ihnen mitteilen, dass ich mit dem Übergang von Java zu Kotlin sehr zufrieden war.
Ich habe vor einiger Zeit in Java programmiert. Aber Java hat seine Nachteile. Dies ist zum Beispiel:
: warning: Dies ist ein Artikel über die Migration von Java. JavaScript ist eine völlig andere Sprache. Bitte seien Sie vorsichtig.
NullPointerException
Die API kann null als Rückgabewert zurückgeben oder null als Argument übergeben. Ersteres kann durch Verwendung der in Java 8 hinzugefügten optionalen
Beschreiben Sie beim Deklarieren einer Variablen den Typ wie "List
In Java müssen Sie für jede Kapselung Getter / Setter schreiben, was etwas redundant ist. Klassenkonstruktoren und Überladungen sind ziemlich langweilig.
In Java beim Erstellen einer Methode (Funktion höherer Ordnung), die eine Funktion empfängt, z. B. Funktion <T, R> Sie müssen einen etwas längeren Typ schreiben. Es hat eine feste Namenskonvention, ist aber immer noch schwer zu lesen.
Wenn die Grammatik bei der Migration der Sprache völlig anders wäre, wäre sie ungewohnt. Es kann dynamisch sein oder es kann eine funktionale Programmierung sein.
Wenn die neue Zielprogrammiersprache vollständig inkompatibel ist, wird dies viel Zeit in Anspruch nehmen. Wenn möglich, möchte ich, dass Sie die vorhandenen Java-Programme verwenden.
Kotlin trennt Typen, die Null enthalten können, von Typen, die dies nicht tun. String?
Kann null enthalten. String
darf keine Null enthalten.
In Java die folgenden Klassen
public class Pen {
private int ink;
public Pen(int ink) {
setInk(ink);
}
public int getInk() {return ink;}
public void setInk(int ink) {
if (ink < 0)
throw new IllegalArgumentException("Das Argument ist 0 oder weniger. Spezifizierter Wert:" + ink);
this.ink = ink;
}
}
In Kotlin
class Pen(ink: Int = 0) {
var ink:Int = ink
set(value) {
if (ink < 0)
throw IllegalArgumentException("Das Argument ist 0 oder weniger. Spezifizierter Wert:${value}")
field = value
}
}
Einfach anrufen. Wenn der Setter deaktiviert ist,
class Pen(var ink:Int)
Nur. Wenn Sie die Namenskonventionen getXXX und setXXX befolgen, können Sie wie in einem Feld wie "pen.ink" darauf zugreifen. Übrigens wird Getter / Setter zur Kompilierungszeit für das zuvor in Kotlin definierte Feld generiert.
Sie können den Teil : Int
des Variablentyps weglassen, indem Sie ihn zusammen initialisieren. Für die funktionale Programmierung ist String-> Int
so einfach wie Haskell.
Tatsächlich wird Kotlin beim Kompilieren in eine Klassendatei konvertiert. Mit anderen Worten, es läuft auf JVM wie Java. Kotlin und Java können koexistieren, und Kotlin kann Java-Bibliotheken verwenden, von ihnen erben und umgekehrt.
Ich benutze eine IDE namens IntelliJ. Es hat eine Funktion zum Konvertieren von Java in Kotlin (vorhandene Dateien und Kopieren / Einfügen), was sehr hilfreich ist. Zu den Sprachen, die unter JVM ausgeführt werden, gehören Scala, Groovy und Ruby (jRuby), aber ich bin mit der Syntax in Ruby nicht sehr vertraut. Scala lässt sich nur langsam kompilieren, und Groovy hat Kotlin ausgewählt, weil es dynamisch ist. Lassen Sie uns jetzt nach Kotlin (Dajare) migrieren.
Recommended Posts