Given the code fragment:



Assume that the system date is June 20, 2014. What is the result?

A.

date1 = 2014-06-20
date2 = 2014-06-20
date3 = 2014-06-20

B.

date1 = 06/20/2014
date2 = 2014-06-20
date3 = Jun 20, 2014

C. Compilation fails.
D. A DateParseException is thrown at runtime.

題解

這題是在考Java 8加入的日期與時間(Date-Time)API,可以參考以下文章:

https://magiclen.org/java-8-date-time-api/

now、of、parse都是建立LocalDate物件的方式。parse可以將字串使用指定的DateTimeFormatter格式化成日期與時間的物件,在這題程式中要格式化的字串是「2014-06-20」,符合ISO_DATE這個DateTimeFormatter的格式。

LocalDate預設的toString方法會將日期以ISO-8601標準格式轉成字串。