Wicket 1.3 から Wicket 1.4 への移行で問題が発生していますが、この質問は Java ジェネリック全体にも当てはまります。移行により、どこからともなく何百もの警告が発生しました。Wicket に慣れていない人のために説明すると、多くの Wicket クラスは、v1.4 で一般化された共通の祖先から派生しています。また、どのパラメーターを適用すればよいかわかりません。場合によっては、ほとんどがさまざまなフォームとテーブルです。<?>
、<Object>
またはでできると思いますが、どちらか<Void>
わかりません。
<?>
が最も適しているように思えますが、ワイルドカードを使用できない場所がたくさんあります。 <Object>
すべての場合に機能しますが、基本的にワイルドカードを使用せずにワイルドカードを書いているため、不安になります。これは、私の脳の一部にとって本質的に間違っていると感じています。Wicket migration guideで使用<Void>
が提案されました。
では、この場合どうするのが適切でしょうか?
編集 2: 私の最初の編集 (現在は質問の一番下にあります) は、文字列のコレクションについて質問しているように見えることで、人々を混乱させたと思います。他の例とその警告を次に示します。
public class DocumentProcessor extends Form implements DocumentManagement { ...
フォームは raw タイプです。ジェネリック型 Form への参照はパラメーター化する必要があります
AjaxFallbackDefaultDataTable theTable = new AjaxFallbackDefaultDataTable("theTable", cols, dataProvider, recPerPg);
この行に複数のマーカー
- 型の安全性: コンストラクター AjaxFallbackDefaultDataTable(String, List, ISortableDataProvider, int) は生の型 AjaxFallbackDefaultDataTable に属します。ジェネリック型 AjaxFallbackDefaultDataTable への参照はパラメーター化する必要があります
- AjaxFallbackDefaultDataTable は生の型です。ジェネリック型 AjaxFallbackDefaultDataTable への参照はパラメーター化する必要があります
- AjaxFallbackDefaultDataTable は生の型です。ジェネリック型 AjaxFallbackDefaultDataTable への参照はパラメーター化する必要があります
編集:サンプルコードを必要としないほど質問を広くしたいと思っていましたが、ここにいくつかあります。
List<IColumn> columns = new ArrayList<IColumn>();
columns.add(new PropertyColumn(new Model<String>("Number"), "revisionID"));
次の警告が生成されます。
[最初の] 行に複数のマーカー
- IColumn は raw タイプです。ジェネリック型 IColumn への参照はパラメーター化する必要があります
- IColumn は生の型です。ジェネリック型 IColumn への参照はパラメーター化する必要があります[2 番目の] 行に複数のマーカー
- 型の安全性: コンストラクター PropertyColumn(IModel, String) は生の型 PropertyColumn に属します。ジェネリック型 PropertyColumn への参照はパラメーター化する必要があります
- PropertyColumn は生の型です。ジェネリック型 PropertyColumn への参照はパラメーター化する必要があります
エラーはありません。