web-dev-qa-db-ja.com

リストは生のタイプです。ジェネリック型List <E>への参照はパラメーター化する必要があります

以下は私の構文です

List synchronizedpubliesdList = Collections.synchronizedList(publiesdList);

次の構文エラーが発生します。

List is a raw type. References to generic type List<E> should be parameterized.

解決策を提案してください。

13
Sachin Singh

私は信じている

リストは生のタイプです。ジェネリック型リストへの参照はパラメーター化する必要があります

エラーではなく、警告です。

Javaを使用することを計画している場合、ジェネリックスを理解することは基礎となるので、これについてJavaのチュートリアルページをチェックすることをお勧めします。

Javaジェネリックチュートリアル

したがって、publiesdListに含まれているオブジェクトのタイプがわかっている場合は、次のことを実行できます。

List<YourType> synchronizedpubliesdList = Collections.synchronizedList(publiesdList);

リストに複数のタイプのオブジェクトがある場合は、ワイルドカードを使用できます。

List<?> synchronizedpubliesdList = Collections.synchronizedList(publiesdList);

または、警告を取り除きたいだけの場合は、次のように抑制できます。

@SuppressWarnings("rawtypes")
List synchronizedpubliesdList = Collections.synchronizedList(publiesdList);

ただし、後者はお勧めしません。

34
Adam Arold

あなたはそれに正しいジェネリック型を与える必要があります。

List<String> publiesdList = ...
List<String> synchronizedpubliesdList = Collections.synchronizedList(publiesdList);
8
Peter Lawrey

このようにして「広報担当者」を定義できます。

List<String> publiesdList = new List<String>();

警告が消えます。

0
Oleg Hmelnits

私はEclipseで同じ警告を受けましたが、警告サインをクリックして、型引数をハッシュ、リスト、配列などに追加するオプションを取得します。ここでの議論の大きなリスト 生の型とは何で、なぜそれを使用すべきではないのですか?

0