Maison > Java > javaDidacticiel > Quelle est la manière la plus efficace de calculer l'âge en Java ?

Quelle est la manière la plus efficace de calculer l'âge en Java ?

Patricia Arquette
Libérer: 2024-12-27 15:30:15
original
953 Les gens l'ont consulté

What's the Most Efficient Way to Calculate Age in Java?

Optimiser le calcul de l'âge en Java : ignorer les méthodes obsolètes

Le calcul de l'âge d'une personne en Java peut impliquer diverses approches. Bien que la méthode traditionnelle utilisant les objets Date ait ses limites, Java fournit des moyens plus efficaces et plus précis pour déterminer l'âge.

Pour éviter de s'appuyer sur la méthode obsolète getYear(), il est recommandé d'utiliser la classe Period introduite dans Java 8. , qui simplifie le calcul de l'âge et fournit des résultats précis.

La méthode getAge() mise à jour à l'aide de Period :

public int getAge() {
    LocalDate birthDate = getBirthDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
    LocalDate currentDate = LocalDate.now();
    if ((birthDate != null) && (currentDate != null)) {
        return Period.between(birthDate, currentDate).getYears();
    } else {
        return 0;
    }
}
Copier après la connexion

Cette méthode exploite le toInstant() et atZone() pour convertir l'objet Date en un objet LocalDate, permettant ainsi la compatibilité avec Period.

Un test JUnit démontre sa fonctionnalité :

@Test
public void testCalculateAge_Success() {
    LocalDate birthDate = LocalDate.of(1961, 5, 17);
    int actual = getAge(birthDate, LocalDate.of(2016, 7, 12));
    Assert.assertEquals(55, actual);
}
Copier après la connexion

Considérant l'adoption généralisée de Java 8 , cette approche optimisée garantit une plus grande efficacité et précision dans la détermination de l'âge d'une personne.

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:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal