列表索引超出范围:0

时间:2013-06-03 18:07:38

标签: apex-code

我在类中声明了一个二维数组“S”,如下所示:

public class TestClass {

private static final List<List<Long>> S = new List<List<Long>>{};

Public TestClass {
}


public void setKey(string key, string keylength) {
integer i, j

for ( i = 0; i < 4; ++i ){        
        for ( j = 0; j < 256; ++j ){
   S[i][j] = 0;
}
}
}
} 

我得到一个超出界限的List索引:此行为0:

 S[i][j] = 0;

似乎没有正确调用List,

有人可以告诉我有什么问题吗?

谢谢

1 个答案:

答案 0 :(得分:1)

我对顶点代码没有任何经验,但我猜你没有在代码的其他地方初始化List,或者至少没有初始化内部List。

使用C#或Java等众所周知的语言将其置于上下文中,初始化看起来像这样:

// ** NOTE: Pseudo-code **
// Loop over the outer List first
for ( i = 0; i < 4; ++i ){        
    // Initialise each List index as a new List, storing 256 integers.
    S[i] = new List<long>(new int[256]);

        // Loop over the newly initialised inner List, setting the int values.
        for ( j = 0; j < 256; ++j ){
            S[i][j] = 0;
        }
    }
}