Java 在列表大小未知时为循环内部创建变量

Java 在列表大小未知时为循环内部创建变量,java,android,list,http,for-loop,Java,Android,List,Http,For Loop,如果这个问题很愚蠢,我提前表示歉意,但我目前正在做一些事情,这需要我实现一个循环,通过列表解析MenuItem类型的对象。在循环中,我需要将对象的名称存储在字符串中 但是,我不确定列表中有多少项,因此不知道我需要多少变量。我可以在循环内部动态声明变量吗??? 以下是我目前的代码: for(int i = 0; i != orderItems.size(); i++){ MenuItem item = orderItems.get(i);

如果这个问题很愚蠢,我提前表示歉意,但我目前正在做一些事情,这需要我实现一个循环,通过
列表
解析
MenuItem
类型的对象。在循环中,我需要将对象的名称存储在
字符串中

但是,我不确定
列表中有多少项,因此不知道我需要多少
变量。我可以在循环内部动态声明变量吗???
以下是我目前的代码:

for(int i = 0; i != orderItems.size(); i++){
                MenuItem item = orderItems.get(i);
                String itemName = item.getName();
            }
上面循环的原因是,当它退出时,我希望通过
Http
post请求将所有
itemName
变量发送到db。所以我可以像这样传递一个参数:

    new RequestTask().execute(url, itemName1, itemName2, itemName3);

任何帮助都将不胜感激

可以使用varargs指定接受变量列表的方法。最后,它只是一个接受此类变量数组的方法。因此,你将以

  new RequestTask().execute(url, items);  // items is String[]

如果事先不知道字符串的数量,请将其存储在列表中。然后,您可以获得列表中的项目数,创建一个足够大的数组并填充它。或者,使用方法
toArray
,将它们放入某种类型的列表中

    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);
    }
ArrayList itemNameList=新建ArrayList();
对于(int i=0;i!=orderItems.size();i++){
MenuItem item=orderItems.get(i);
String itemName=item.getName();
itemName列表。添加(itemName);
}

以下是我在循环未知值时一直使用的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);
List itemNameList=new ArrayList();
for(int i=0;i!=orderItems.size();i++){
MenuItem item=orderItems.get(i);
add(item.getName());
}
String[]itemNameArray=新字符串[itemNameList.size()];
toArray(itemNameArray);

与您的问题无关,但我认为您应该更改
I!=orderItems.size()
i
大概orderItems是某种聚合——Java有一堆这样的东西——堆栈、向量、数组列表等等。使用其中的一个。