我正在使用这样的数组:
int selIntIndex = Integer.valueOf(selStringIndex);
int[][] PreIntVal = new int[][]
{
{ selIntIndex,
2 },
{
selIntIndex,
3 },
{
selIntIndex,
1 } };
PreIntVal[3][0] = PreIntVal[4][0] = 3;
android.util.Log.d("StripedLog",
Arrays.toString(Values.PreStringVal[3]));
但不知何故,代码永远不会到达“log”语句。问题在于这一行:PreIntVal [3] [0] = PreIntVal [4] [0] = 3;因为如果我发表评论,那就有效了。
有什么建议吗?
答案 0 :(得分:3)
此特定行PreIntVal[3][0] = PreIntVal[4][0]
导致ArrayIndexOutOfBoundsException。查看已定义数组的维度:new int[][] {
{ selIntIndex,
2 },
{
selIntIndex,
3 },
{
selIntIndex,
1 } };
。您似乎对如何使用 index 访问数组元素感到困惑,请浏览Oracle tutorial。
此数组的有效索引是 [0,1,2] [0,1] 。
观察此图以了解索引的映射方式。