Effective Java 第2版

読みました。流し読みの部分もあり。

Effective Java 第2版 (The Java Series)

Effective Java 第2版 (The Java Series)

初版は読まないとなあと思いつつ読んでいなかったのですが。
僕の実践Java知識は1.4.2で終わっているので、当然5で導入されたもろもろは未体験。こういうので知識をしっかり仕入れておかないとね。

ジェネリクス

  • 項目23 新たなコードで原型を使用しない
  • 項目24 無検査警告を取り除く
  • 項目25 配列よりリストを選ぶ
  • 項目26 ジェネリック型を使用する
  • 項目27 ジェネリックメソッドを使用する
  • 項目28 API の柔軟性向上のために境界ワイルドカードを使用する
  • 項目29 型安全な異種コンテナーを検討する

後半のあたりがイマイチピンと来なかった。要勉強。

enum

  • 項目30 int 定数の代わりにenum を使用する
  • 項目31 序数の代わりにインスタンスフィールドを使用する
  • 項目32 ビットフィールドの代わりにEnumSet を使用する
  • 項目33 序数インデックスの代わりにEnumMap を使用する
  • 項目34 拡張可能なenum をインタフェースで模倣する

enumの有用性は以前のバージョンでもタイプセーフenumで示されていたからある程度わかっていたけど、言語に組み込まれていると便利さが違うね、という感じ。

その他

  • 日ごろ思っていたことについての明確な答えの提示がいくつかあった。リフレクションを乱用するなとか乱用するなとか乱用するなとか。
  • equalsの守るべき方針とか、意識したことなかったな。もっとも、オーバーライドしたことないけど。
  • オブジェクトは可能な限り不変であるべき。至言かも。

実践的な現実解を導くために必要ないくつかの指針が示されている本です。よっぽど自分の実力に自信のあるJava使い以外は一度は目を通しておく本、だと思いました。