Java类型安全警告

3

我正在尝试创建一个类似于这样的向量数组:

Vector<String>[] wordList = new Vector[29];
for (int i = 0; i < wordList.length; i++) {
  wordList[i] = new Vector<String>(100);
}

但是Java警告我"new Vector[29]"违反了类型安全。我该如何消除这个警告?

更新:我已经尝试过:

        wordList = new Vector<String>[29];

当然可以,但是这会生成错误:无法创建Vector的通用数组。
3个回答

6
Vector<String>[] wordList = (Vector<String>[])new Vector[29];

警告:从Vector[]到Vector<String>[]的未经检查的转换 - Jeremy
@Jeremy,将你更新的代码与此答案中提供的代码进行比较...它们不匹配。天哪! - Moonbeam
1
你可以通过 @SuppressWarnings("unchecked") 来作弊 :) - Foo Bah
我所说的警告是使用您更新的代码。我拥有的代码是错误的。 - Jeremy
我开始觉得那是唯一的方法...虽然感觉不对。谢谢! - Jeremy
在代码块前面添加一行 @SuppressWarnings("unchecked") - Foo Bah

2

考虑使用一个ListList<String>代替Vectors数组,如下所示:

List<List<String>> wordList = new Vector<List<String>>();

这不会产生任何警告。



网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接