如果这个问题很愚蠢,我会事先道歉但是我正在做一些事情,要求我实现一个循环来解析List
MenuItem
类型的对象。在循环内部,我需要将对象的名称存储在String
变量中。
但我不确定List
中有多少项,因此我不知道我需要多少variables
项。我可以以某种方式在循环内动态声明变量???
以下是我目前的代码:
for(int i = 0; i != orderItems.size(); i++){
MenuItem item = orderItems.get(i);
String itemName = item.getName();
}
上面循环的原因是因为当它退出时我想通过itemName
发布请求将所有Http
变量发送到数据库。所以我可以传递像这样的参数:
new RequestTask().execute(url, itemName1, itemName2, itemName3);
非常感谢任何帮助!
答案 0 :(得分:2)
您可以使用varargs指定接受变量列表的方法。最后,它只是一个接受这些变量数组的方法。
结束了 new RequestTask().execute(url, items); // items is String[]
如果您不知道a priori
字符串的数量,请将它们存储在列表中。然后,您可以获取列表中的项目数,创建足够大的数组并填充它。或者,使用可以做到这一点的方法toArray
。
答案 1 :(得分:1)
这是我在循环未知值时一直使用的ArrayList语法。然后我将其转换为普通数组以进行进一步处理。
List<String> itemNameList = new ArrayList<String>();
for(int i = 0; i != orderItems.size(); i++) {
MenuItem item = orderItems.get(i);
itemNameList.add(item.getName());
}
String[] itemNameArray = new String[itemNameList.size()];
itemNameList.toArray(itemNameArray);
答案 2 :(得分:0)
将它们放入某种列表中,即
ArrayList<String> itemNameList = new ArrayList<String>();
for(int i = 0; i != orderItems.size(); i++){
MenuItem item = orderItems.get(i);
String itemName = item.getName();
itemNameList.add(itemName);
}