Oracle 1z0-808 Exam: Question #3 해설
질문 원본 내용
Question #3
Consider the following code:
public static void main(String[] args) {
String date = LocalDate
.parse("2014-05-04")
.format(DateTimeFormatter.ISO_DATE_TIME);
System.out.println(date);
}
What is the result?
A. May 04, 2014T00:00:00.000
B. 2014-05-04T00:00:00.000
C. 5/4/14T00:00:00.000
D. An exception is thrown at runtime.
질문 번역
다음 Java 코드에 대한 문제입니다:
public static void main(String[] args) {
String date = LocalDate
.parse("2014-05-04")
.format(DateTimeFormatter.ISO_DATE_TIME);
System.out.println(date);
}
어떤 결과가 콘솔에 출력될까요?
A. May 04, 2014T00:00:00.000
B. 2014-05-04T00:00:00.000
C. 5/4/14T00:00:00.000
D. 런타임에 예외가 발생한다.
정답: D. 런타임에 예외가 발생한다.
해설
이 코드는 java.time.LocalDate
클래스와 java.time.format.DateTimeFormatter
클래스를 사용하여 날짜를 파싱하고 포매팅합니다. LocalDate.parse
메소드는 문자열을 파싱하여 LocalDate
객체를 생성합니다. 여기서 "2014-05-04" 문자열은 ISO 형식의 날짜를 나타냅니다.
문제는 .format(DateTimeFormatter.ISO_DATE_TIME)
부분에 있습니다. LocalDate
객체는 날짜만 포함하고 있고 시간 정보는 포함하고 있지 않습니다. 그러나 ISO_DATE_TIME
포매터는 날짜와 시간을 모두 포매팅하려고 시도하기 때문에, 시간 정보가 없는 LocalDate
객체에 이를 적용하면 UnsupportedTemporalTypeException
예외가 런타임에 발생합니다.
따라서, 올바른 출력을 위해서는 DateTimeFormatter.ISO_DATE
를 사용해야 하며, 이 경우에는 "2014-05-04"와 같은 형식의 날짜 문자열이 출력됩니다. 하지만, 주어진 코드는 ISO_DATE_TIME
포매터를 사용하므로, 런타임에 예외가 발생하는 것이 정확한 결과입니다.
나머지 선택지는 LocalDate
객체에 시간 정보가 포함되어 있을 것으로 가정하고 있으나, 실제로는 그렇지 않기 때문에 정답이 될 수 없습니다.
이 문제는 java.time
패키지의 사용법과 객체가 지원하는 기능의 범위를 이해하는 것을 평가합니다.
'Oracle 1z0-808 Exam' 카테고리의 다른 글
Oracle 1z0-808 Exam 2024: Question #6 (0) | 2024.02.19 |
---|---|
Oracle 1z0-808 Exam 2024: Question #5 (0) | 2024.02.18 |
Oracle 1z0-808 Exam 2024: Question #4 (0) | 2024.02.18 |
Oracle 1z0-808 Exam 2024: Question #2 (0) | 2024.02.18 |
Oracle 1z0-808 Exam 2024: Question #1 (2) | 2024.02.18 |
댓글