我有一个字符串向量, oldV ,并希望第二个Vector相同但删除了所有重复项。以下工作,从它编译并导致删除了重复项的Vector:
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>
在这两种情况下,^都直接位于“new LinkedHashSet。
中的”new“下我不知道如何修复这些警告。
答案 0 :(得分:3)
如果oldV
被声明为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) );