「java ClassのTはどんな意味ですか???」
帰り支度をしていると(こっちは前日だけど、もう夜の7時を回っている。。。)、なんとあのSeaserのひがやすお(はてな blog)さんから「トラックバック」があった。
clazzパラメータの型をClass<?>にするとキャストする必要はありません。
Java Generics は、Collection の「要素」のタイプを明示して、コーディング段階で「変なモノ」が混ざらないように(混ざる所で「コンパイルエラー」!)するためのものといったベーシックな「理解」だけで、Eclipseが警告を出していても、Hibernateの.list()がGenerics でない List を返しているコト(Hibernate Criteria API)を口実に、Eclipseが「黄色い」警告を出していても Java1.4 のやり方をゴリ押ししている感があった。
同僚のロンというプログラミング歴30年のエキスパートプログラマーは(彼はホントにスゴいプログラマーだ!)最近、この「警告」を抹消すべくアノテーションを使って、
@SuppressWarnings("unchecked") public Set getOutcomes() { return outcomes; }
と書き始めていた。。。
ひょっとして、
List<?> results = criteria.list();
あるいは
public Set<?> getOutcomes() { return outcomes; }
とすればいいだけのコトだったのだろうか???