CUBは子供の白熊

Java SE 8 実践プログラミングの練習問題を解く

2016-06-01から1ヶ月間の記事一覧

第8章 その他の Java 8 機能を理解する : 問題 14 : requireNonNull(T, Supplier<String>) メソッド

問題 java.util.ObjectsのrequireNonNull(T, Supplier<String>)メソッドは 第1引数がnullかどうかをチェックし nullのときは第2引数のラムダ式を評価して それをエラーメッセージとするNullPointerExceptionをスローする このメソッドによりもっと役立つエラーメッセ</string>…

第8章 その他の Java 8 機能を理解する : 問題 13 : ソースレベルのアノテーション処理

問題 問題 12 で定義したTestCaseアノテーションを処理するソースレベルのアノテーションプロセッサを構築せよ。 このプロセッサーは実行されると、テストを実行するmainメソッドを持つソースを出力する。 解答 問題 12 で定義したTestCaseアノテーションを…

第8章 その他の Java 8 機能を理解する : 問題 12 : 繰り返し指定できるアノテーション

問題 以下のようなプログラムを実装せよ。 TestCaseアノテーションを定義し そのアノテーションを持つクラスをロードして アノテーションが付いたメソッドを呼び出し メソッドが期待した値を返すかを検査する 引数と戻り値の型はintと想定する。 解答 JUnit …

第8章 その他の Java 8 機能を理解する : 問題 11 : Basic 認証

問題 パスワード保護(Basic 認証)された Web ページの内容を取得するプログラムを書け。 解答 ん~、一応コードは書くけど、Basic 認証しているサイトを知らないので、動作確認はなしね。 ■ Basic 認証 private InputStream basicAuthentication(URL url, …

第8章 その他の Java 8 機能を理解する : 問題 10 : Files.walk メソッド

問題 まず JDK の src.zip ファイルを解凍せよ。 Files.walkメソッドを使用して、予約語 transient volatile を含む Java のソースファイルを全て見つけよ。 解答 まず、ソースファイルにキーワードtransientまたはvolatileが含まれるかどうかをチェックする…

第8章 その他の Java 8 機能を理解する : 問題 9 : Scanner から Stream を生成

問題 Scannerを、単語, 行, 整数, または double のStreamに変換するメソッドを書け。 解答 以下の手順でStreamを生成する。 ScannerからIteratorを生成 IteratorからSpliteratorを得る SpliteratorからStreamを生成 まず、IteratorからStreamを生成するメソ…

第8章 その他の Java 8 機能を理解する : 問題 8 : Collections.CheckedQueue クラス

問題 CheckedQueueクラスの利点を示すプログラムを書け。 補足 CheckedQueueクラスは、公開されていない。 これはjava.util.CollectionsのネストクラスでCollectionsのcheckedQueueメソッドが返すクラスである。 解答 CheckedQueueクラスは、実行時に要素の…

第8章 その他の Java 8 機能を理解する : 問題 7 : Comparator の reversed メソッド

問題 Comparatorインターフェースのreservedメソッドを呼び出さないで nullsFirst(naturalOrder()).reserved() を表わせ。 解答 上の Comparator は null が先頭に来る昇順の逆順 である。 ■ Java の実際のコード Comparator<String> comp = Comparator.nullsFirst(C</string>…