読者です 読者をやめる 読者になる 読者になる

この日記は私的なものであり所属会社の見解とは無関係です。 GitHub: takahashikzn

Helios debut!!

Eclipse3.6のHeliosがリリースされました。


新しい機能の解説はコチラに譲るとして、とりあえず使い勝手は3.5と大きく変わらないです。
各種プラグインも、特に問題なく動作している模様。


目立った点としては、コンパイラの精度が良くなったのか、これまで警告として検知出来なかったケースでも警告を検知できるようになりました。


例えば@Overrideが付いていないケースを正確に報告してくれるようになりました。
これまでは、検知できないケースが多々あったのですが。


コンパイラ関連で言うと、以下に示す変更点がインパクト大きいですね。
これは、広範囲にわたってソースの修正が必要になりそう。

rawタイプを扱うケースへ@SuppressWarnings("unchecked")を適用できなくなった

ジェネリクスにおける必要悪である@SuppressWarnings("unchecked")ですが、
3.6ではきたるJDK7に備え、仕様を変更したみたいです。rawタイプを扱うときに、

@SuppressWarnings("unchecked")
List list = ...;

ではなくて、

@SuppressWarnings("rawtypes")
List list = ...;

と書く必要があるらしい。


で、それだとEclipse3.5を使っているメンバーとコードを共有できないという問題があるので、
そのときはEclipseの起動オプションとして

-vmargs
-DsuppressRawWhenUnchecked=true

を付ければ、これまで通りの@SuppressWarnings("unchecked")の仕様で動作します。
詳しくはコチラを参照。


僕もしばらくはコレで乗り切りるつもりです。

追記

恐れ多いことに、id:kompiro氏に当記事を言及いただきました。
どうもありがとうございました。