在 Java 中計算年齡:綜合指南
在 Java 程式設計領域,計算某人的年齡可能是一項常見任務。為了滿足這一需求,開發人員尋求有關以整數形式返回年齡的最佳方法的指導。
目前實作:
提供的程式碼依賴Date 物件和已棄用的getYear() 方法:
public int getAge() { long ageInMillis = new Date().getTime() - getBirthDate().getTime(); Date age = new Date(ageInMillis); return age.getYear(); }
增強方法:
JDK 8 引入了一個使用LocalDate 的優雅解決方案:
public static int calculateAge(LocalDate birthDate, LocalDate currentDate) { if ((birthDate != null) && (currentDate != null)) { return Period.between(birthDate, currentDate).getYears(); } else { return 0; } }
使用 LocalDate的好處:
範例單元檢定:
為了證明所提出方法的有效性,請考慮以下JUnit測試:
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); } }
舊版JDK 版本的棄用:
需要注意的是,JDK 8 之前的所有Java 版本均已終止支援。因此,強烈建議使用 JDK 8 或更高版本。
以上是Java中如何使用LocalDate精確計算年齡?的詳細內容。更多資訊請關注PHP中文網其他相關文章!