Maison  >  Article  >  Java  >  Comment utiliser la classe Records dans Java 14 pour créer des objets de données mutables

Comment utiliser la classe Records dans Java 14 pour créer des objets de données mutables

WBOY
WBOYoriginal
2023-07-30 20:55:58697parcourir

Comment créer des objets de données mutables à l'aide de la classe Records dans Java 14

Introduction :
Java 14 est la dernière version du langage de programmation Java, qui introduit la classe Records comme nouveau type de données. La classe Records fournit un moyen concis de créer des objets de données immuables. Dans cet article, nous présenterons comment utiliser la classe Records pour créer des objets de données mutables dans Java 14 et fournirons des exemples de code correspondants.

1. Introduction à la classe Records
La classe Records est une nouvelle classe de données ajoutée dans Java 14. Elle est principalement utilisée pour représenter des objets de données immuables. La classe Records générera automatiquement certaines méthodes couramment utilisées pour nous, telles que les méthodes equals(), hashCode() et toString(), réduisant ainsi le besoin d'écrire du code répété. Par rapport aux classes ordinaires, la classe Records est définitive et ne peut pas être héritée ni modifier l'accessibilité des propriétés.

2. Utilisez la classe Records pour créer des objets de données mutables
Si nous voulons créer un objet de données mutable, par rapport aux objets immuables, nous pouvons utiliser l'attribut mutable de la classe Records pour y parvenir. Voici un exemple de code :

public record Person(String name, int age) {
    public Person {
        if (age < 0) {
            throw new IllegalArgumentException("age should be non-negative");
        }
    }
    public void setAge(int age) {
        if (age < 0) {
            throw new IllegalArgumentException("age should be non-negative");
        }
        this.age = age;
    }
}

Dans l'exemple ci-dessus, nous avons créé une classe Person et l'avons déclarée comme classe Records. En ajoutant des contrôles de validité des propriétés dans le constructeur, nous pouvons garantir que l'objet créé est valide. En parallèle, nous avons ajouté une méthode setAge() pour permettre la modification de l'attribut age. De cette façon, nous créons un objet Person mutable.

3. Utilisez la classe Records pour créer des objets
Pour les objets Person variables, nous pouvons les créer de la manière suivante :

Person person = new Person("Alice", 30);
System.out.println(person.name()); // 输出:Alice
System.out.println(person.age()); // 输出:30

person.setAge(31);
System.out.println(person.age()); // 输出:31

Dans le code ci-dessus, nous utilisons le constructeur de la classe Person pour créer un objet Person et appeler le nom respectivement () et age() pour obtenir les valeurs d'attribut correspondantes. Ensuite, nous modifions la valeur de l'attribut age en appelant la méthode setAge(). Grâce au résultat, nous pouvons voir que la valeur de l’attribut age a été modifiée avec succès.

4. Remarques sur la classe Records
Bien que la classe Records fournisse des fonctions pratiques, vous devez également faire attention à certaines restrictions lors de son utilisation :

  1. La classe Records est définitive et ne peut pas être héritée.
  2. Les attributs de la classe Records sont définitifs par défaut et ne peuvent pas être modifiés.
  3. Le constructeur de la classe Records est privé par défaut.
  4. Les méthodes equals(), hashCode() et toString() générées automatiquement par la classe Records se comparent par défaut.

Résumé :
Dans Java 14, la classe Records nous fournit un moyen concis de créer des objets de données immuables. En définissant l'attribut mutable, nous pouvons également créer des objets de données mutables. L'utilisation de la classe Records peut réduire notre charge de travail d'écriture de code répété et améliorer la lisibilité et la maintenabilité du code. Je pense qu'avec l'application généralisée de Java 14, la classe Records jouera un rôle de plus en plus important dans le futur développement Java.

Lien de référence :
[1] https://openjdk.java.net/jeps/359

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn