Java:无法修复未经检查的转换所需的Java.util.Collection<;?扩展java.lang.String>;
我有一个字符串向量oldV,需要第二个相同但删除了所有重复项的向量。从编译并生成已删除重复项的向量的意义上讲,以下方法是有效的:Java:无法修复未经检查的转换所需的Java.util.Collection<;?扩展java.lang.String>;,java,generics,vector,linkedhashset,Java,Generics,Vector,Linkedhashset,我有一个字符串向量oldV,需要第二个相同但删除了所有重复项的向量。从编译并生成已删除重复项的向量的意义上讲,以下方法是有效的: Vector<String> newV = new Vector<String>( new LinkedHashSet(oldV) ); Vector newV=newvector(newlinkedhashset(oldV)); 但是,它会生成两个未选中的转换警告: > warning: [unchecked] unchecked
Vector<String> newV = new Vector<String>( new LinkedHashSet(oldV) );
Vector newV=newvector(newlinkedhashset(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>
@SuppressWarnings("unchecked")
Vector<String> newV = new Vector<String>( new LinkedHashSet(oldV) );
>警告:[未选中]未选中对LinkedHashSet(java.util.Collection)的调用如果oldV
声明为Vector
只需使用参数化版本的“LinkedHashSet”:
Vector<String> newV = new Vector<String>( new LinkedHashSet<String>(oldV) )
如果oldV
被声明为向量
,只需使用参数化版本的“LinkedHashSet”:
Vector<String> newV = new Vector<String>( new LinkedHashSet<String>(oldV) )
集合也应该使用泛型,新LinkedHashSet(oldV)morgano:Thank!有效,现在有意义。集合也应该使用泛型,新LinkedHashSet(oldV)morgano:Thank!有效,现在有意义。