Javaの最強リファレンス、その名も「Java最強リファレンス」を頂きました。
これが最強のリファレンスだ! pic.twitter.com/lsNf0mRSh6
— 山本://裕介 (@yusuke) 2014, 11月 7
サイボウズ株式会社にてkintoneなどを開発されているエンジニア田中 裕一(@yuichielectric)さんの著書。
Java8対応をうたう本はそれなりに出始めていますが、「とりあえずJava8に追加されたAPIにいくつか触れている」「Lambda記法をちょっと解説している」だけの本も相応にあります。またLambdaに触れる章を追加しただけで、他のコードは古めかしい残念な書き方をしている残念な本があるので注意が必要です。
そしてこのリファレンス、Java5〜Java8までとかなり広範囲をカバーしています。バランスを取るのは非常に難しいはず!
章立ては以下の通りです。合計535ページの超大作!
1. Javaの概要
2. Javaの基礎
3. 文字列・正規表現
4. 配列
5. コレクション
6. リスト
7. マップ
8. セット
9. Stream
10. 数値処理
11. ファイル操作
12. 日付時刻処理
13. クラス・オブジェクト・インターフェース
14. ログ出力
15. ネットワーク
16. データベース
17. サーブレット
18. 並行処理
19. システム
20. 国際化
Appendix Eclipseを使う
「GUI以外はほとんどカバーしている」といったところ。そして肝心の解説内容を見ると「こういう風に書く、Java7以降では(Java8以降では)こういう風に書くとよりシンプルに/効率的に書ける」といった形で併記されています。道理でページ数が多いはず!
それなりのベテランJavaプログラマは、何か処理を書く際昔ながらのAPIを使って冗長になってしまい、「たぶんこれNIOを使えばもっとシンプルに書けるはずだけど・・・まぁ動くコード書けたからいっかー」と放置することも少なくないはず。(特にファイル操作周りとか)
本書はリファレンスなので、「何を行いたいか」というトピックを元に実際のコードイメージを逆引きすることができます。
そして自分が使っているJavaのバージョンに応じて適宜モダンな書き方を確認することが出来るので便利そうです。
もちろんこれからJavaをどんどん憶えていきたいという初心者にも良いでしょう。
あくまでリファレンスなので、頭から読み進めてJavaを習得する、という目的には向いていませんがある程度基礎から発展的なトピックへという順番で章立てがされています。Javaの基礎文法はとりあえず把握している、という人であればひとまず1〜8章くらいまでは分からないところは飛ばしてもいいのでざっと通して読むといいかもしれません。
個人的にはJava8で一番メリットを実感しているOptionalについて2章17項にて「NullPointerExceptionを防ぐ」として触れている点がポイント高い!
まとめとして、初心者から上級者までまんべんなくオススメできる一冊です。軽い筋トレになるボリュームで2,580円(税別)とお値頃なのも良いですね。
ボリュームがあってちょっと場所を取る本だけれども、ささっとめくって必要な情報を取り出すには紙の媒体が向いていると思います。机に一冊置いておきましょう。
惜しいのがページ両端にある章番号。20章もあるのでさすがにどの章に何が書いてあるかまで憶えることは出来ないので、パラパラっとめくる際、自分が欲しい情報が何章にあるのか確認しやすいよう、章番号だけでなくトピックについても一言添えてあるとめくりやすかった!
20章分のトピックを全てのページ両端に記載するのはレイアウト的に厳しそうだけど・・・。
パラパラっとめくる際、何章に何が書いてあるのかすぐ分かるよう章番号にトピックが併記されてたら良かったなー! pic.twitter.com/Mohk5uK3MZ
— 山本://裕介 (@yusuke) 2014, 11月 7