2011年9月10日土曜日

第4回 Java7はここが違う!


前回<>次回

登場人物
  • NRT
    猪突猛進なプログラマー
    考える前に体力勝負でプログラミングするタイプ。
    たまに鋭い洞察力を見せるため、
    周囲からは落ち着いてさえいれば…と言われている。
  • SSK
    冷静沈着なプログラマー
    20:80の法則に習い、実は仕事の一部分を学習に当てている。
    他の人はそれに気がついていない。
    Java7についても以前からチェックはしていた。
  • SKR
    紅一点なプログラマー
    暗算は早いけど、プログラミングはそこそこ。
※登場人物は忍者ではありません。架空のプログラマーです。

新機能:Type Inference for Generic Instance Creation

※前回から会話が続いています。

SKR「SSK君、他にJava SE 7で変わったところって何?」

SSK「そうだな…ならさっき少しだけ出たハッシュテーブル関連でいくか?」

SKR「曜日をハッシュテーブルに入れた場合ね。
       こんな感じかしら?」

// Java SE 6 で曜日のハッシュテーブルを表現
Map<String, int> weekly = new HashMap<String, int>();

SSK「さて、Java SE 6なら全く問題ないわけだが…
       何か思うところはないか?」

SKR「ここまで振りがあったら推理は簡単ね♪
       またもっと良い書き方があるんでしょ?」

SSK「その通り、NRTみたいに無駄が多いコードと付き合う必要はもう無いわけだ。
       …というわけでこうなる。」

// Java SE 7 で曜日のハッシュテーブルを表現
Map<String, int> weekly = new HashMap<>();

SKR「なるほどね。
       同じことを2度書かなくて良くなったわけか…」

SSK「慣れは怖いな、総称型を使うときの欠点にいつの間にか慣れてしまっている。
       本当は無駄な表現がどれだけ多いことか…(ため息)
       そうだ、こんな例もあるぞ。」

Map<String, List<String>> myMap = new HashMap<>();

SKR「二重に使っていた場合でも、まとめて省略して構わないわけね。」

SSK「これでフィールドの初期化は、随分きれいになるだろうな。」

前回<>次回

2 件のコメント:

  1. なるほど、わからん

    返信削除
  2. コメントありが…って、顔見知りでしたか。
    どうでもいい記事もあるんで、暇つぶしにでもご利用ください。

    返信削除