Lassen Sie uns migrieren, um Java komfortabler zu machen

In diesem Artikel möchte ich Ihnen mitteilen, dass ich mit dem Übergang von Java zu Kotlin sehr zufrieden war.

Nachteile von Java

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 -Klasse vermieden werden, letzteres ist jedoch nicht möglich. Sie können Laufzeitfehler erhalten, aber leider keine Kompilierungsfehler.

Redundante Beschreibung

Typbeschreibung

Beschreiben Sie beim Deklarieren einer Variablen den Typ wie "List words". Es wäre jedoch schön, wenn wir darauf schließen könnten. Jetzt können Sie "var" verwenden, aber Sie können dies nicht für beispielsweise Felder usw. tun.

Informationen zur Objektorientierung

In Java müssen Sie für jede Kapselung Getter / Setter schreiben, was etwas redundant ist. Klassenkonstruktoren und Überladungen sind ziemlich langweilig.

Über funktionale Programmierung

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.

Dinge, die bei der Migration zu beachten sind

Dinge, an die man sich erinnern sollte

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.

Nach und nach migrieren können

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.

Das stimmt, Kotlin!

null sicher

Kotlin trennt Typen, die Null enthalten können, von Typen, die dies nicht tun. String? Kann null enthalten. String darf keine Null enthalten.

Kurze Beschreibung

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.

Kotlin kann mit Java koexistieren

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.

Am Ende

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

Lassen Sie uns migrieren, um Java komfortabler zu machen
Komfortablere Java-Codeabdeckung mit Jacoco 0.8.0
Java - So erstellen Sie JTable
So erstellen Sie einen Java-Container
So erstellen Sie ein Java-Array
Schnittstelle Versuchen Sie, Java-Problem TypeScript 7-3 zu machen
So erstellen Sie eine Java-Kalenderzusammenfassung
Einfach, Slack Bot mit Java zu machen
Wie erstelle ich einen Discord Bot (Java)
[Java] Anfänger wollen Dating machen. 1
Lassen Sie uns Java studieren
Ich habe versucht, eine Standardauthentifizierung mit Java durchzuführen
Ich habe Java gemacht, um (a == 1 && a == 2 && a == 3) immer wahr zu machen
Migrieren Sie von Java zu Server Side Kotlin + Spring-Boot
So machen Sie doppelte Prüflogik lesbarer
Ich wollte (a == 1 && a == 2 && a == 3) in Java wahr machen
Zeichenfolgenoperation Versuchen Sie, das Java-Problem in TypeScript 9-3 zu ändern
[Java] Einführung in Java
Einführung in Java
[Kleine Geschichte] Ich habe versucht, die Java-ArrayList etwas komfortabler zu gestalten
Einfacher LINE BOT mit Java Servlet
[Java] Wie man mehrere for-Schleifen einzeln macht
Initialisierung von for Versuchen Sie, das Java-Problem in TypeScript 5-4 zu ändern
So führen Sie einen Java-Komponententest durch (JUnit & Mockito & PowerMock)
So organisieren Sie Informationen, um das Programmierlernen zu optimieren
[Java-Grundlagen] Lassen Sie uns ein Dreieck mit einer for-Anweisung erstellen
Lass uns einen Roboter bauen! "Eine einfache Demo von Java AWT Robot"
Ich habe versucht, eine Anmeldefunktion mit Java zu erstellen
Ich habe nc (netcat) normalerweise mit JAVA gemacht
[Einführung in die Android App-Entwicklung] Machen wir einen Zähler
Machen Sie einen Blackjack mit Java
Änderungen von Java 8 zu Java 11
Summe von Java_1 bis 100
Migrieren Sie von JUnit 4 zu JUnit 5
[Java] Stellen Sie eine Verbindung zu MySQL her
Lassen Sie uns Rails-like machen (View)
Kotlins Verbesserungen an Java
Wie man ein schattiertes Glas macht
Von Java zu Ruby !!
Lass uns mit Java kratzen! !!
Einführung in den Java-Befehl
Lassen Sie uns schreiben, wie API mit SpringBoot + Docker von 0 erstellt wird
Erstellen wir eine Taschenrechner-App mit Java ~ Zeigen Sie das Anwendungsfenster an
[Anfänger] Versuchen Sie, mit Java ein einfaches RPG-Spiel zu erstellen ①
Ich möchte eine Liste mit Kotlin und Java erstellen!
Ich wollte nur eine reaktive Eigenschaft in Java erstellen
Ich möchte eine Funktion mit Kotlin und Java erstellen!
Ich habe versucht, Java Optional und Guard-Klausel koexistieren zu lassen
Ich habe einen RESAS-API-Client in Java erstellt