大きなお世話

Java開発用のIDEとしてEclipseはどう変わったかにも書かれているけどEclipse3.1はJ2SE5.0と組み合わせて使うと以下のコードに対して警告を出すらしい。(※)

final List msgs = new LinkedList();
msgs.add("hello");
String msg = (String) msgs.get(0); 

警告の内容は"キャストは危険なのでList型をList型にしなさい"という内容らしいのだけれどそれってやりすぎ且つ大きなお世話ではないだろうか。コンテキストにもよるけれどこのコードのケース、ましてやローカルスコープでリストに追加するオブジェクトの型が明らかな場合はGenericsに変えることはおろか型判定すら行わないのが当たり前だと思っていたのだけれど違うのだろうか?
JavaのGenericsはプリプロセッサによるもので一種のシンタクスシュガーなのでありC#2.0等とは違いパフォーマンスヒットはそれほど気にしなくても良いのだろうけどそれ(Genericsを選択するか否か)を判断するのもプログラマの仕事だと思うんですけどね。頭は使わないとどんどん動かなくなるし。
※嫌ならEclipseのPreferenceで有効/無効を設定できるので警告が避けられないという訳では無いので念のため。


追記: サンプルをC#2.0で書くならばキャストの部分を以下のように変えることはするかもしれない

string msg = msgs.get(0) as string;

けどやはりわざわざGenericsで書換えるようなことはしないなぁ。