문제:
연수를 정수로 반환하는 Java 방법을 개발하세요. . 이 메소드는 생년월일을 나타내는 Date 객체를 사용합니다.
현재 구현:
public int getAge() { long ageInMillis = new Date().getTime() - getBirthDate().getTime(); Date age = new Date(ageInMillis); return age.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 중국어 웹사이트의 기타 관련 기사를 참조하세요!