Java での年齢計算の最適化: 非推奨のメソッドの破棄
Java での年齢の計算には、さまざまなアプローチが必要です。 Date オブジェクトを使用する従来の方法には制限がありますが、Java は年齢を判断するためのより効率的かつ正確な方法を提供します。
非推奨の getyear() メソッドに依存しないようにするには、Java 8 で導入された Period クラスを利用することをお勧めします。 、年齢の計算が簡素化され、正確な結果が得られます。
を使用する更新された getAge() メソッドPeriod:
public int getAge() { LocalDate birthDate = getBirthDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); LocalDate currentDate = LocalDate.now(); if ((birthDate != null) && (currentDate != null)) { return Period.between(birthDate, currentDate).getYears(); } else { return 0; } }
このメソッドは、toInstant() メソッドと atZone() メソッドを利用して Date オブジェクトを LocalDate オブジェクトに変換し、Period との互換性を可能にします。
JUnit テストはその機能を示します。 :
@Test public void testCalculateAge_Success() { LocalDate birthDate = LocalDate.of(1961, 5, 17); int actual = getAge(birthDate, LocalDate.of(2016, 7, 12)); Assert.assertEquals(55, actual); }
Java 8 の広範な採用を考慮すると、この最適化されたアプローチにより、誰かの年齢。
以上がJavaで年齢を計算する最も効率的な方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。