ホームページ >Java >&#&チュートリアル >Java 8 はどのようにして人の年齢を効率的に計算できるのでしょうか?

Java 8 はどのようにして人の年齢を効率的に計算できるのでしょうか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-22 04:32:09869ブラウズ

How Can Java 8 Efficiently Calculate a Person's Age?

Java での年齢の決定

Java で人の年齢を計算するのは簡単な作業です。ただし、非推奨のメソッドと正確な計算の必要性により、特定の課題が生じます。

提供されたコードに見られるように、get Year() を使用して 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 が 2 つの 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。