首頁 > Java > java教程 > 如何使用 Java 可靠地計算年齡?

如何使用 Java 可靠地計算年齡?

DDD
發布: 2024-12-18 11:16:11
原創
287 人瀏覽過

How Can I Reliably Calculate Age in Years Using Java?

計算年齡的Java 方法

問題:

發展一個Java 方法,以整數形式傳回以年為單位的年齡。此方法採用代表出生日期的 Date 物件。

目前實作:

public int getAge() {
    long ageInMillis = new Date().getTime() - getBirthDate().getTime();

    Date age = new Date(ageInMillis);

    return age.getYear();
}
登入後複製

限制:

  • getYear() 方法已棄用。
  • 如果沒有單元測試,目前方法的準確性是有問題的。

使用 JDK 8 改進的解決方案:

JDK 8 引入了使用 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測試:

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);
    }
}
登入後複製

建議:

升級到JDK 8,以獲得改進且可靠的年齡計算解決方案。

以上是如何使用 Java 可靠地計算年齡?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板