3

次のような配列を宣言しました。

LinkedList< Interval>[] resTable = new LinkedList[10];

Eclipse 内で表示されるタイプ セーフ警告を回避するために、これをどうにかして宣言するにはどうすればよいですか?

警告は次のとおりです。

型の安全性: LinkedList[] 型の式は、LinkedList< Interval>[] に準拠するために未チェックの変換が必要です

4

2 に答える 2

4

ジェネリックは消去によって実装されるため、ジェネリックの配列はタイプ セーフではありません。

安全であることを示すためにキャストする必要があります。

詳細については、この質問を参照してください: How to create a generic array in Java?

簡単な答え: 使用を検討してください

ArrayList< LinkedList<Interval> >

代わりは。ArrayList クラスがジェネリックを処理するため、コードはクリーンで信頼性が高く、チェックされていないキャストは必要ありません。

于 2013-01-11T14:52:26.970 に答える
0

これは、無視するか、無視するようにマークできる Eclipse の警告です。

@SuppressWarnings({"unchecked"})
LinkedList<Integer>[] tableX = new LinkedList[10];
tableX[3].add(3);

コードをコンパイルできるように、Interval の代わりに Integer を使用しました。

于 2013-01-11T16:21:55.550 に答える