我有一个ArrayList,我们将说它的最大大小为5。我想将第一个元素分配给var1,将第二个元素分配给var2,第三个元素分配给var3,依此类推。
但是,有时ArrayList的项目少于5个,在这种情况下,我不会为某些变量分配值。
所以我的问题是,除了:
if (myArrayList.size() > 0)
var1 = myArrayList.get(0);
if (myArrayList.size() > 1)
var2 = myArrayList.get(1);
if (myArrayList.size() > 2)
var3 = myArrayList.get(2);
if (myArrayList.size() > 3)
var4 = myArrayList.get(3);
if (myArrayList.size() > 4)
var5 = myArrayList.get(4);
最佳答案
造成这种情况的根源肯定是错误的代码设计。另外,如果arraylist不包含该字段,那么该如何初始化变量(毕竟以后使用它)?一个更大的示例或您尝试执行的操作将在这里有所帮助。通常只使用
但是我至少可以想到两种方法:
switch(myArrayList.size()) {
case 5:
var4 = myArrayList.get(4);
case 4:
var3 = myArrayList.get(3);
case 3:
var2 = myArrayList.get(2);
// and so on
}
或仅使用try/catch。
try {
var0 = myArrayList.get(0);
var1 = myArrayList.get(1);
}
catch(IndexOutOfBoundsException ex){
}
但最肯定的是,最好使用arraylist本身,并用您否则将用于变量的默认值填充它。