J2SE 5.0を使ってみる

ちょっと暇があったので、eclipse3.1M4をインストールして J2SE 5.0で遊んでみました。J2SE 5.0(以降 Tiger)では、Javaの言語使用が拡張されてコレクションのテンプレートやBoxingなどができるようになりました。それを試してみようかと思ったのですが、eclipse3.0.1ではそれには対応していないためコンパイルエラーがでてしまいます。仕方なく、まだβですが3.1ではTigerの文法に対応している*1とのことなのでインストールしました。
とりあえず、ボーリングのスコア計算と言う題材でテストとコードを書いてみました*2。あまり、大したことをしてませんが、

private final List points_ = new ArrayList();
public void setPoint(int index, int point) throws IllegalArgumentException {
	if (isInvalidIndex(index)) {
		throw new IllegalArgumentException();
	}
	points_.add(index, point);
}

public void setPoint(int point) throws IllegalArgumentException {
	points_.add(nowIndex_++, point);
	if (isNextFrame(nowIndex_, point)) {
		this.endThisFrame();
		nowIndex_ = 0;
	}
}

なんて辺りで、新たなタイプセーフなコレクションを使ってます。拡張 for文も使えないところは無いかな?と思って、見てみましたが今回は置き換えでる場所はないようです。残念。でも、コンパイルエラーにならないことは確認できました。

*1:しかし、まだenumの取り扱いに不具合があるらしいです

*2:こちらに書いたソースを置いてありますが、コメントはまったく入っていないので見づらいと思います^^;