> Java > java지도 시간 > LocalDate를 사용하여 Java에서 나이를 어떻게 정확하게 계산할 수 있습니까?

LocalDate를 사용하여 Java에서 나이를 어떻게 정확하게 계산할 수 있습니까?

Barbara Streisand
풀어 주다: 2024-12-19 16:48:14
원래의
602명이 탐색했습니다.

How Can I Accurately Calculate Age in Java Using LocalDate?

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 사용의 이점:

  • 정확함 계산은 그대로 Handles闰年和短月
  • Date 객체 및 밀리초와 관련된 복잡성 방지
  • null 값의 명시적 처리 촉진

예제 단위 테스트:

제안된 접근 방식의 효율성을 입증하려면 다음을 고려하세요. 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 이상을 수용하는 것이 좋습니다.

위 내용은 LocalDate를 사용하여 Java에서 나이를 어떻게 정확하게 계산할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿