我ArrayList
用name声明了10 arraylist1
,arraylist2
依此类推。
我想在for循环中动态更改变量名:
for (int i = 1; i < 5; i++)
{
arraylist + (i).clear();
//arraylist1.clear();
//arraylist2.clear();
//arraylist3.clear();
//arraylist4.clear();
//arraylist5.clear();
}
是否有可能?如果是这样,格式是什么?
您不能使用名称作为字符串的变量来寻址(反射除外),但这对于此任务来说是过大的选择。
您可以将所有这些ArrayList添加到另一个列表中。这更加灵活,因此是更好的选择。
List<List<ContactDetails>> lists2 = new ArrayList<List<String>>();
for (int i = 0; i < 10; i++) {
lists2.add(new ArrayList<ContactDetails>());
}
或将它们添加到数组并通过数组索引访问它们:
@SuppressWarnings("unchecked")
List<ContactDetails>[] lists = new List[10];
for (int i = 0; i < lists.length; i ++) {
lists[i] = new ArrayList<ContactDetails>();
}
现在:
for (int i = 1; i < 5; i++)
{
lists[i].clear();
lists2.get(i).clear();
}
由于List和array都是Iterable,因此可以使用foreach语法:
for (List list : lists)
{
list.clear();
}
for (List list : lists2) {
list.clear();
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句