Heim  >  Artikel  >  Java  >  So verwenden Sie die Records-Klasse in Java 14, um unveränderliche Datenobjekte zu erstellen

So verwenden Sie die Records-Klasse in Java 14, um unveränderliche Datenobjekte zu erstellen

WBOY
WBOYOriginal
2023-08-03 13:40:45967Durchsuche

So erstellen Sie unveränderliche Datenobjekte mit der Records-Klasse in Java 14

Einführung:
Im Softwareentwicklungsprozess sind Datenobjekte sehr wichtig. Um Datensicherheit und -konsistenz zu gewährleisten, müssen Datenobjekte in der Regel unveränderlich gestaltet werden. In Java können wir die Records-Klasse verwenden, um unveränderliche Datenobjekte zu erstellen. In diesem Artikel wird die Verwendung der Records-Klasse zum Erstellen unveränderlicher Datenobjekte in Java 14 vorgestellt und entsprechende Codebeispiele bereitgestellt.

  1. Was ist der Records-Kurs?
    Die Records-Klasse ist eine neue Funktion in Java 14, die eine sauberere und einfachere Möglichkeit bietet, unveränderliche Datenobjekte zu erstellen. Die Records-Klasse generiert automatisch mehrere Methoden, einschließlich der Konstruktionsmethode, der Equals-Methode, der HashCode-Methode und der toString-Methode. Die Implementierungen dieser Methoden werden automatisch basierend auf den Eigenschaften der Klasse generiert, sodass wir diese mühsamen Codes nicht manuell schreiben müssen.
  2. Wie definiere ich eine Records-Klasse?
    Das Definieren der Records-Klasse ist sehr einfach. Verwenden Sie einfach das Schlüsselwort record sowie den Klassennamen und die Attribute. Hier ist beispielsweise ein Beispiel für eine einfache Person-Klasse: record加上类名和属性即可。例如,下面是一个简单的Person类的示例:
record Person(String name, int age) {}

上述代码定义了一个名为Person的Records类,它有两个属性,分别是name和age。Records类是不可变的,所以我们无法在创建对象之后修改它们。

  1. 如何使用Records类?
    使用Records类非常方便,可以像使用普通类一样来创建对象、访问属性和调用方法。例如,我们可以这样创建一个Person对象:
Person person = new Person("Alice", 25);

我们也可以像访问普通类的属性一样访问Records类的属性:

String name = person.name();
int age = person.age();

值得注意的是,Records类自动生成了一个toString()方法,所以我们可以直接调用toString()方法来获取对象的字符串表示:

System.out.println(person);  // 输出:Person[name=Alice, age=25]
  1. Records类的优点
    使用Records类有以下几个优点:

4.1 简洁性:相比传统的类定义方式,Records类更加简洁,省去了繁琐的代码编写。

4.2 不可变性:Records类中的属性是final的,它们在创建之后就无法修改,保证了数据对象的不可变性。

4.3 自动生成方法:Records类自动为我们生成了一些常用的方法,比如equals、hashCode和toString等,不需要我们手动编写这些方法。

4.4 易于读写:Records类定义清晰,属性可通过简单的访问方法获取,使得代码易于理解和维护。

  1. Records类的限制
    但是,Records类也有一些限制:

5.1 属性必须是final的:Records类中的属性必须声明为final的,这是为了确保数据对象的不可变性。

5.2 不能显式定义构造方法:Records类的构造方法是隐式生成的,所以我们不能显式定义构造方法。

5.3 不能继承其他类:Records类不能继承其他类,但可以实现接口。

5.4 属性不能使用访问修饰符:Records类中的属性默认是public的,无法使用其他访问修饰符。

  1. 总结
    在Java 14中,Records类为我们创建不可变数据对象提供了更加简洁和方便的方式。我们只需要使用record
  2. rrreee
Der obige Code definiert eine Records-Klasse mit dem Namen Person, die zwei Attribute hat: Name und Alter. Die Records-Klasse ist unveränderlich, daher können wir die Objekte nach ihrer Erstellung nicht ändern. 🎜
    🎜Wie verwende ich den Records-Kurs? 🎜Die Verwendung der Records-Klasse ist sehr praktisch. Sie können Objekte erstellen, auf Eigenschaften zugreifen und Methoden aufrufen, genau wie mit gewöhnlichen Klassen. Zum Beispiel können wir ein Person-Objekt wie folgt erstellen:🎜🎜rrreee🎜Wir können auch auf die Attribute der Records-Klasse zugreifen, genau wie auf die Attribute gewöhnlicher Klassen:🎜rrreee🎜Es ist erwähnenswert, dass die Records-Klasse automatisch ein toString() -Methode, sodass wir die toString()-Methode direkt aufrufen können, um die String-Darstellung des Objekts zu erhalten: 🎜rrreee
      🎜Vorteile von Die Records-Klasse🎜Die Verwendung der Records-Klasse bietet die folgenden Vorteile: 🎜🎜🎜4.1 Einfachheit: Im Vergleich zur herkömmlichen Klassendefinitionsmethode ist die Records-Klasse prägnanter, sodass kein mühsamer Code geschrieben werden muss. 🎜🎜4.2 Unveränderlichkeit: Die Eigenschaften in der Records-Klasse sind endgültig und können nach ihrer Erstellung nicht mehr geändert werden, wodurch die Unveränderlichkeit des Datenobjekts gewährleistet wird. 🎜🎜4.3 Automatisch generierte Methoden: Die Records-Klasse generiert automatisch einige häufig verwendete Methoden für uns, wie z. B. equal, hashCode und toString usw. Wir müssen diese Methoden nicht manuell schreiben. 🎜🎜4.4 Einfach zu lesen und zu schreiben: Die Records-Klasse ist klar definiert und die Eigenschaften können durch einfache Zugriffsmethoden abgerufen werden, wodurch der Code leicht zu verstehen und zu warten ist. 🎜
        🎜Einschränkungen der Records-Klasse🎜Die Records-Klasse unterliegt jedoch auch einigen Einschränkungen: 🎜🎜🎜5.1 Eigenschaften müssen endgültig sein: Eigenschaften in der Records-Klasse müssen als endgültig deklariert werden, um dies sicherzustellen das Datenobjekt der Unveränderlichkeit. 🎜🎜5.2 Der Konstruktor kann nicht explizit definiert werden: Der Konstruktor der Records-Klasse wird implizit generiert, daher können wir den Konstruktor nicht explizit definieren. 🎜🎜5.3 Kann andere Klassen nicht erben: Die Records-Klasse kann keine anderen Klassen erben, aber sie kann Schnittstellen implementieren. 🎜🎜5.4 Zugriffsmodifikatoren können nicht für Eigenschaften verwendet werden: Eigenschaften in der Records-Klasse sind standardmäßig öffentlich und andere Zugriffsmodifikatoren können nicht verwendet werden. 🎜
          🎜Zusammenfassung🎜In Java 14 bietet uns die Records-Klasse eine präzisere und bequemere Möglichkeit, unveränderliche Datenobjekte zu erstellen. Wir müssen nur die Records-Klasse mit dem Schlüsselwort record definieren und die Eigenschaften deklarieren, und der Rest der Arbeit wird automatisch von der Records-Klasse generiert. Die Verwendung der Records-Klasse kann die Lesbarkeit und Wartbarkeit Ihres Codes verbessern. Wir müssen jedoch auch einige Einschränkungen der Records-Klasse beachten, z. B. müssen Eigenschaften endgültig sein, Konstruktoren können nicht explizit definiert werden usw. Ich hoffe, dieser Artikel kann Ihnen helfen, die Records-Klasse in Java 14 zu verstehen und zu verwenden. 🎜🎜

Das obige ist der detaillierte Inhalt vonSo verwenden Sie die Records-Klasse in Java 14, um unveränderliche Datenobjekte zu erstellen. 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