1

私は文字列のベクトルoldVを持っており、同一であるがすべての重複が削除された 2 番目のベクトルが必要です。以下は、コンパイルされ、重複が削除された Vector になるという意味で機能します。

Vector<String> newV = new Vector<String>( new LinkedHashSet(oldV) );

ただし、2 つの未チェックの変換警告が生成されます。

> warning: [unchecked] unchecked call to LinkedHashSet(java.util.Collection<? extends E>) as a member of the raw type java.util.LinkedHashSet

> warning: [unchecked] unchecked conversion
> found   : java.util.LinkedHashSet
> required: java.util.Collection<? extends java.lang.String>

どちらの場合も、^ は "new LinkedHashSet.

これらの警告を修正する方法がわかりません。

4

1 に答える 1

4

「LinkedHashSet」のパラメーター化されたバージョンを使用oldVするだけとして宣言されている場合:Vector<String>

Vector<String> newV = new Vector<String>( new LinkedHashSet<String>(oldV) )

@SuppressWarnings警告を取り除きたい場合は、注釈を使用することもできます。

@SuppressWarnings("unchecked")
Vector<String> newV = new Vector<String>( new LinkedHashSet(oldV) );
于 2013-08-16T11:17:12.163 に答える