Heim  >  Artikel  >  Java  >  So verwenden Sie die Records-Klasse in Java 14 anstelle herkömmlicher DTO-Objekte

So verwenden Sie die Records-Klasse in Java 14 anstelle herkömmlicher DTO-Objekte

PHPz
PHPzOriginal
2023-07-29 09:22:531161Durchsuche

So verwenden Sie die Records-Klasse in Java 14, um das traditionelle DTO-Objekt zu ersetzen

In der traditionellen Java-Entwicklung verwenden wir normalerweise DTO-Objekte (Data Transfer Object), um Daten zwischen verschiedenen Ebenen zu übertragen. Ein DTO-Objekt ist eine einfache Java-Klasse, mit der Daten gekapselt und zwischen verschiedenen Komponenten übergeben werden. Das Erstellen und Verwalten einer großen Anzahl von DTO-Klassen kann jedoch mühsam und überflüssig werden. Mit Java 14 wurde die Records-Klasse eingeführt, die eine präzisere und intuitivere Möglichkeit zum Definieren von Datenkapselungsklassen bietet.

Die Records-Klasse kann uns dabei helfen, schnell unveränderliche Datenklassen zu erstellen. Sie generiert automatisch Konstruktoren, Getter-Methoden, Equals, HashCode, toString und andere Methoden. Die Verwendung der Records-Klasse kann unseren Arbeitsaufwand beim Schreiben von Code erheblich reduzieren und gleichzeitig die Lesbarkeit und Wartbarkeit des Codes verbessern.

Hier ist ein Beispiel für die Verwendung der Records-Klasse:

public record Person(String name, int age) {}

public class Main {
    public static void main(String[] args) {
        Person person = new Person("Alice", 25);
        System.out.println(person.name());
        System.out.println(person.age());
        System.out.println(person);
    }
}

Im obigen Beispiel haben wir eine Person-Klasse definiert, die mithilfe des Schlüsselworts „record“ deklariert wird. Wir definieren außerdem zwei Attribute: Name und Alter. Die Records-Klasse generiert automatisch einen Konstruktor mit den Parametern Name und Alter sowie der entsprechenden Getter-Methode.

In der Hauptmethode erstellen wir ein Person-Objekt mit dem Schlüsselwort new und erhalten die Attributwerte des Objekts durch Aufrufen der Methoden name() und age(). Schließlich können wir durch Aufrufen der toString()-Methode das Person-Objekt direkt drucken.

Zusätzlich zu den automatisch generierten Methoden stellt uns die Records-Klasse auch einige spezielle Funktionen zur Verfügung. Beispielsweise generiert die Records-Klasse automatisch einen endgültigen Modifikator für jede Eigenschaft und macht sie so zu einem unveränderlichen Feld. Dies bedeutet, dass wir die Eigenschaftswerte des Objekts nach seiner Erstellung nicht ändern können, wodurch die Unveränderlichkeit des Objekts gewährleistet wird.

Eine weitere nützliche Funktion ist, dass die Records-Klasse automatisch die Methoden equal und hashCode für uns implementiert. Das bedeutet, dass wir den ==-Operator verwenden können, um zwei Records-Objekte zu vergleichen, ohne die Methode „equals“ manuell schreiben zu müssen.

Gleichzeitig bietet die Records-Klasse auch eine sehr praktische Kopiermethode zum Erstellen eines neuen Objekts mit denselben Eigenschaften wie das Originalobjekt, aber unterschiedlichen Werten. Mit der Kopiermethode können wir die Eigenschaftswerte eines Objekts einfach ändern, ohne die Kopierlogik manuell schreiben zu müssen.

public record Person(String name, int age) {}

public class Main {
    public static void main(String[] args) {
        Person person = new Person("Alice", 25);
        Person modifiedPerson = person.withAge(30);
        System.out.println(modifiedPerson);
    }
}

Im obigen Beispiel haben wir mit der withAge-Methode ein neues Person-Objekt erstellt, wobei die Alterseigenschaft auf 30 geändert wurde. Wir müssen nur die Eigenschaften ändern, die uns wichtig sind, und müssen nicht auf die Werte anderer Eigenschaften achten.

Die Records-Klasse kann auch mit anderen Funktionen wie dem Mustervergleich verwendet werden. Der Mustervergleich ist eine weitere wichtige Funktion in Java 14, die uns hilft, einfacher mit unterschiedlichen Objektzuständen umzugehen.

public record Person(String name, int age) {}

public class Main {
    public static void main(String[] args) {
        Person person = new Person("Alice", 25);

        if (person instanceof Person p) {
            System.out.println(p.name());
            System.out.println(p.age());
        }
    }
}

Im obigen Beispiel verwenden wir Mustervergleich, um die Eigenschaften des Person-Objekts an die Variable p zu binden und sie in der if-Anweisung auszugeben. Dadurch können wir die Records-Klasse intuitiver verwenden, um unterschiedliche Zustände von Objekten zu verarbeiten.

Zusammenfassend bietet uns die Records-Klasse in Java 14 eine präzisere und intuitivere Möglichkeit, Datenkapselungsklassen zu definieren. Durch die automatische Generierung von Konstruktoren, Getter-Methoden, Equals und anderen Methoden können wir den Arbeitsaufwand beim Schreiben von Code erheblich reduzieren. Gleichzeitig ermöglichen uns einige spezielle Funktionen der Records-Klasse und die Kombination mit anderen Funktionen eine effizientere Verarbeitung von Datenobjekten. Dies macht die Records-Klasse zu einer guten Wahl, um herkömmliche DTO-Objekte in der Java-Entwicklung zu ersetzen.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie die Records-Klasse in Java 14 anstelle herkömmlicher DTO-Objekte. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn