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有一堆这样的东西——堆栈、向量、数组列表等等。使用其中的一个。