我有一个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本身,并用您否则将用于变量的默认值填充它。

10-06 02:12