gpt4 book ai didi

java - 如何将 vector 作为方法参数传递?

转载 作者:行者123 更新时间:2023-12-01 12:17:28 26 4
gpt4 key购买 nike

我有一个 servlet,它从表单获取变量并将它们存储在 vector 中。

我想将整个 vector 传递给另一个 java 类中的方法。

我该怎么做?

这是我尝试过的:

在servlet中-

private DbUpdate dbup = new DbUpdate(); 
int j=0;

Vector<String> v = new Vector<String>();
v.addElement("name");
v.addElement("profession");

Enumeration vEnum = v.elements();
j = dbup.insertValues(vEnum);

DbUpdate.java类

public int insertValues(Enumeration vc) {
for (int j=1; j<14; j++) {
statement.setString(j, vc.get(j));
}
i = statement.executeUpdate();
}

它说我不能在这里使用 vc.get() 方法。

任何帮助将不胜感激。

提前致谢。

最佳答案

这真的很奇怪,为什么即使你使用 JDK 1.5+,你仍然使用这种过时的类。

改用List

List<String> params = Arrays.asList("name", "profession");
// if you prefer you can also create an ArrayList<String>() and add it one by one

dbUp.insertValues(params);

在 DbUpdate.java 中,执行类似的操作

public int insertValues(Collection<String> params){
int i = 0;
for (String param : params){
statement.setString(++i, param);
}
return statement.executeUpdate();
}
<小时/>

编辑:

如果在任何情况下您确实想使用Enumeration,您需要了解Enumeration 的工作方式类似于Iterator,它为您提供了用于迭代对象集合的接口(interface)。因此它应该看起来像:

public int insertValues(Enumeration<String> params){ // or use Enumeration<?>, but you need 
// further casting below
int j = 0;
while (params.hasMoreElements()) {
String param = params.nextElement();
statement.setString(++j, param);
}
return statement.executeUpdate();
}

关于java - 如何将 vector 作为方法参数传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26902652/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com