2013-08-16 33 views
1

我有一個矢量字符串,oldV,並且想要第二個Vector是相同的但刪除了所有重複項。下面的作品,它編譯並導致載體具有重複刪除的意義:Java:無法修復所需的未經檢查的轉換java.util.Collection <? extends java.lang.String>

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

然而,生成兩個未檢查轉換警告:

> 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> 

在這兩種情況下,^是在「新LinkedHashSet下的「新」直接定位。

我在如何解決這些警告的損失。

+0

設定應該使用泛型以及新的LinkedHashSet (oldV) – Felquir

+0

morgano:謝謝!工程,現在是有道理的。 – RPW

回答

3

如果oldV是decla紅色爲Vector<String>,只要用「LinkedHashSet」的參數版本:

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

,您還可以使用註釋@SuppressWarnings如果你只是想擺脫警告:

@SuppressWarnings("unchecked") 
Vector<String> newV = new Vector<String>(new LinkedHashSet(oldV)); 
相關問題