在 Java 中確定年齡
在 Java 中計算某人的年齡可能是一項簡單的任務。然而,已棄用的方法和精確計算的需求帶來了一定的挑戰。
如提供的程式碼中所觀察到的,使用 getYear() 來確定 Date 物件的年齡已經過時了。為了解決這個問題,Java 8 提供了一個改進的解決方案。
使用 Java 8 增強年齡計算
Java 8 引入了 LocalDate 的概念,它表示沒有時間資訊的日期。這使得能夠精確計算年齡差異。以下程式碼示範如何利用此功能:
public static int calculateAge(LocalDate birthDate, LocalDate currentDate) { if ((birthDate != null) && (currentDate != null)) { return Period.between(birthDate, currentDate).getYears(); } else { return 0; } }
在此程式碼中,Period. Between 計算兩個 LocalDate 物件之間的週期。要檢索以年為單位的年齡,我們只需存取 getYears() 方法。
驗證單元測試
為了確保年齡計算方法的正確性,單元測試是至關重要的。以下 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); } }
此測試可驗證年齡計算方法是否產生正確的結果。
總而言之,Java 8 的 LocalDate 類別及其關聯方法提供了一個優雅的方法在 Java 中確定某人年齡的準確解決方案。
以上是Java 8 如何有效率地計算人的年齡?的詳細內容。更多資訊請關注PHP中文網其他相關文章!