>>956
ちょっと違うぞ。

1 javacオプションの-sourceで1.5を指定したときだけ、
  J2SE 5.0の文法が使える。

2 javacオプションの-targetで1.4を指定すると、1.4
  互換のバイトコードを生成する。

3 1.4で作ったバイトコードは、ほぼJ2SE 5.0でも動く
  (上位互換ね)

4 -target 1.5を指定するとJ2SE 5.0でないと動かない
  形式のバイトコードが生成される

5 genericsは-target 1.5でないと動かない。

6 J2SE 5.0のデフォルト設定は -source 1.5 -target 1.5だ。

分かりやすく言うと、

genericsを使った段階でJ2SE 5.0でないと動かん。
正直、なんだかなー、と思う。何のためにイレイジャやらなんやら
導入して、パラメータ型をObjectに変換してんだろう。