Maison >Java >javaDidacticiel >Comment puis-je calculer de manière fiable l'âge en années à l'aide de Java ?
Problème :
Développer une méthode Java qui renvoie un âge en années sous forme d'entier . La méthode prend un objet Date représentant la date de naissance.
Mise en œuvre actuelle :
public int getAge() { long ageInMillis = new Date().getTime() - getBirthDate().getTime(); Date age = new Date(ageInMillis); return age.getYear(); }
Limitations :
Solution améliorée avec JDK 8 :
JDK 8 introduit une solution raffinée utilisant la classe LocalDate :
public class AgeCalculator { public static int calculateAge(LocalDate birthDate, LocalDate currentDate) { if ((birthDate != null) & (currentDate != null)) { return Period.between(birthDate, currentDate).getYears(); } else { return 0; } } }
JUnité Test :
public class AgeCalculatorTest { @Test public void testCalculateAge_Success() { // setup LocalDate birthDate = LocalDate.of(1961, 5, 17); // exercise int actual = AgeCalculator.calculateAge(birthDate, LocalDate.of(2016, 7, 12)); // assert Assert.assertEquals(55, actual); } }
Recommandation :
Mettez à niveau vers JDK 8 pour une solution améliorée et fiable de calcul de l'âge.
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!