Maison> Java> javaDidacticiel> le corps du texte

Explorer les types d'enregistrement Java

WBOY
Libérer: 2024-07-24 11:19:31
original
668 Les gens l'ont consulté

Exploring Java Record Types

Les types d'enregistrement Java, introduits dans Java 14 en tant que fonctionnalité d'aperçu et rendus stables dans Java 16, fournissent un moyen concis de définir des supports de données immuables. Ils sont conçus pour simplifier la tâche de création de classes simples de conservation de données en réduisant le code passe-partout et en garantissant l'immuabilité et la sémantique d'égalité.

Qu'est-ce qu'un enregistrement Java ?

Un enregistrement Java est un type spécial de classe dans le langage de programmation Java utilisé pour modéliser des données immuables. Les enregistrements génèrent automatiquement des méthodes constructeurs, accesseurs, equals(), hashCode() et toString(), ce qui les rend idéales pour les objets de transfert de données.

Définir un enregistrement

Définir un enregistrement en Java est simple. Voici un exemple simple :

public record Person(String name, int age) {}
Copier après la connexion

Dans cet exemple, l'enregistrement Personne inclut automatiquement :

  • Un champ final privé pour chaque composant (nom et âge).
  • Un constructeur public qui initialise ces champs.
  • Méthodes Getter pour chaque champ (name() et age()).
  • Méthodes equals(), hashCode() et toString().

Avantages de l'utilisation des enregistrements

  1. Concision: les enregistrements réduisent considérablement le code passe-partout. Pas besoin d'écrire manuellement les méthodes getters, equals(), hashCode() et toString().
  2. Immuabilité: les enregistrements sont intrinsèquement immuables, garantissant que leurs champs ne peuvent pas être modifiés après la création de l'enregistrement.
  3. Lisibilité améliorée: le code qui utilise des enregistrements est plus propre et plus facile à comprendre.

Exemple d'utilisation des enregistrements

Voici un exemple pratique de la façon dont les enregistrements peuvent être utilisés dans une application Java :

public record Employee(int id, String name, double salary) {} public class RecordExample { public static void main(String[] args) { Employee emp = new Employee(1, "Alice", 75000); System.out.println(emp); // Accessing fields System.out.println("ID: " + emp.id()); System.out.println("Name: " + emp.name()); System.out.println("Salary: " + emp.salary()); } }
Copier après la connexion

Sortie :

Employee[id=1, name=Alice, salary=75000.0] ID: 1 Name: Alice Salary: 75000.0
Copier après la connexion

Personnalisation des enregistrements

Bien que les enregistrements offrent de nombreuses fonctionnalités prêtes à l'emploi, vous pouvez toujours les personnaliser si nécessaire. Par exemple, vous pouvez ajouter une logique de validation dans le constructeur canonique :

public record Product(String name, double price) { public Product { if (price <= 0) { throw new IllegalArgumentException("Price must be positive"); } } }
Copier après la connexion

Conclusion

Java Records est un ajout puissant au langage Java, facilitant la création de supports de données immuables avec un minimum de code. Ils améliorent la lisibilité du code et réduisent le passe-partout, permettant aux développeurs de se concentrer sur la logique fondamentale de leurs applications.

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!

source:dev.to
Déclaration de ce site Web
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
Derniers articles par auteur
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!