我想要一个方法将两个向量返回给调用函数。这是我试过的:
static Vector<String>[] method()
{
Vector<String>[] toret = new Vector<String>[2]; // GETTING ERROR HERE
for(...)
{
toret[0].add(...);
toret[1].add(...);
}
return toret;
}
public static void main()
{
Vector<String>[] obtained = method();
}
需要帮助才能删除该错误。
答案 0 :(得分:2)
不要尝试创建泛型数组。请尝试返回List<Vector<String>>
。
static List<Vector<String>> method()
{
List<Vector<String>> toret = new ArrayList<Vector<String>>();
toRet.add(new Vector<String>());
toRet.add(new Vector<String>());
for(...)
{
toret.get(0).add(...);
toret.get(1).add(...);
}
return toret;
}
我还建议使用List<String>
(和List<List<String>>
)而不是Vector<String>
(以及List<Vector<String>>
),除非你绝对需要其他地方的方法级同步Vector
提供。
答案 1 :(得分:1)
你在这里做了两件错事:
Vector
代替List
You can't create an array of concrete parameterized types。你必须使用List<List<String>>
而不是。
答案 2 :(得分:0)
代替Vector [] toret = new Vector [2];使用Vector toret = new Vector();
也像这样改变
public static void main() { 获得的矢量=方法(); }
你可以使用0&amp;操作的第一个索引。 矢量是一个动态数组。所以如果你想确保能力给予 矢量toret =新矢量(2)