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; } }
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); }
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!