Maison > Java > javaDidacticiel > Comment puis-je calculer avec précision l'âge en Java à l'aide de LocalDate ?

Comment puis-je calculer avec précision l'âge en Java à l'aide de LocalDate ?

Barbara Streisand
Libérer: 2024-12-19 16:48:14
original
697 Les gens l'ont consulté

How Can I Accurately Calculate Age in Java Using LocalDate?

Calcul de l'âge en Java : un guide complet

Dans le domaine de la programmation Java, calculer l'âge d'une personne peut constituer une tâche courante. Pour répondre à ce besoin, un développeur recherche des conseils sur la meilleure approche pour renvoyer l'âge sous forme d'entier.

Mise en œuvre actuelle :

Le code fourni s'appuie sur les objets Date et les Méthode getYear() obsolète :

1

2

3

4

5

public int getAge() {

    long ageInMillis = new Date().getTime() - getBirthDate().getTime();

    Date age = new Date(ageInMillis);

    return age.getYear();

}

Copier après la connexion

Améliorée Approche :

JDK 8 introduit une solution élégante utilisant LocalDate :

1

2

3

4

5

6

7

public static int calculateAge(LocalDate birthDate, LocalDate currentDate) {

    if ((birthDate != null) && (currentDate != null)) {

        return Period.between(birthDate, currentDate).getYears();

    } else {

        return 0;

    }

}

Copier après la connexion

Avantages de l'utilisation de LocalDate :

  • Précis calcul comme il handles闰年和短月
  • Évite les complexités associées aux objets Date et aux millisecondes
  • Facilite la gestion explicite des valeurs nulles

Exemple de test unitaire :

Pour démontrer l'efficacité de l'approche proposée, considérez ce qui suit Test JUnit :

1

2

3

4

5

6

7

8

public class AgeCalculatorTest {

    @Test

    public void testCalculateAge_Success() {

        LocalDate birthDate = LocalDate.of(1961, 5, 17);

        int actual = AgeCalculator.calculateAge(birthDate, LocalDate.of(2016, 7, 12));

        Assert.assertEquals(55, actual);

    }

}

Copier après la connexion

Dépréciation des anciennes versions du JDK :

Il est crucial de noter que toutes les versions de Java antérieures au JDK 8 ont atteint leur fin de support. Ainsi, adopter JDK 8 ou version ultérieure est fortement recommandé.

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 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