1Z0-808: Java SE 8 Programmer
7. throw e;
8. } 9. }
catch
した例外オブジェクトとは別の例外オブジェクトを
throw
すると コンパイルエラーになります!Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
こんな問題に注意 - その2
37
Data and Time API
を使った日付の加減算• 次のコードの実行結果正しく説明しているものはどれですか?
1. 2015-04-08 2. 2015-06-10 3. 2015-05-10
4.
実行時例外が発生するLocalDate date = LocalDate.parse("2015-04-08");
date.plusDays(2);
date.minusMonths(-2);
System.out.println(date);
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
出題者の意図 - その2
• LocalDate クラスの parse メソッドの引数
–
第二引数がない場合、DateFormatter.ISO_LOCAL_DATE (= "YYYY-MM-DD")
• LocalDate クラスでの加減算
– LocalDate
クラスは「日付」の演算のみ(Day, Week, Month, Year)
•
時間のみを扱う場合はLocalTime
クラス。日付と時間はLocalDateTime
クラス•
メソッド引数には負の値を指定してもOK
– date.minusMonths(-2); // 評価結果は 2015-06-08
38
Date and Time API
の日付は不変オブジェクト“2015-4-8”
だとフォーマットに合致しないので実行時例外になります
One Point:
LocalDate
クラスのオブジェクトは不変(Immutable) です。
演算を行っても作成したオブジェクトの値は変わらない点に注意しましょう。
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
こんな問題に注意! - その3
39
Lambda
式に惑わされるな!• 次のコードを確認してください。
このコードについて正しい説明はどれですか?
1. 246810
が出力される2. 12345678910
が出力される3.
実行時例外になる4.
コンパイルに失敗するList<Integer> even = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
even.removeIf(i -> i % 2 != 0);
System.out.println(even);
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
出題者の意図 - その3
• 問題の Lambda 式には構文上の間違いはありません
• この問題で注目すべきは Arrays.asList(1, 2, ..);
–
このメソッドは固定サイズのリストを返すのでadd / clear / remove
メソッドを 呼び出すと実行時例外(UnsupportedOperationException)
が発生します。–
コードを正しく動作させるためには以下のように修正します。40
問われているのは
Lambda
式の知識ではない!?
List<Integer> even = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
even.removeIf(i -> i % 2 != 0);
System.out.println(even);
List<Integer> even = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10));
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
よくある質問と回答
• これから資格をとるなら Java SE 8 資格と Java SE 7 資格のどちらがい いですか?
–
これから学習を始めるのでしたらJava SE 8
資格をオススメします。•
最新技術をキャッチアップしていることを証明できたほうが差別化につながります。–
出題トピックがJava SE 7
資格試験と重複する部分は同じ傾向の問題が出題さ れます。•
ただし、全く同じ問題が出題されるわけではありません。• Silver 試験で出題された Lambda 式や Data and Time API に関するト ピックは、 Gold 試験では出題されませんか?
–
いいえ。Gold
試験でも出題されますので、今のうちにしっかり整理しておきましょう。
41
ドキュメント内
How to Use the PowerPoint Template
(ページ 36-41)