Given the code fragment:



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.

題解

程式第7行會使用parse方法產生LocalDate物件,再用LocalDate物件的format方法將LocalDate物件轉成字串,但此時會拋出UnsupportedTemporalTypeException例外。原因在於ISO_DATE_TIME這個DateTimeFormatter無法用於LocalDate物件,LocalDate物件並沒有時間的資訊。

若改成使用ISO_DATE這個DateTimeFormatter,則輸出結果為:

2014-05-04