gpt4 book ai didi

java - 写入已初始化的二维数组时出现异常

转载 作者:行者123 更新时间:2023-12-02 04:11:16 25 4
gpt4 key购买 nike

我有这段代码,我将 2D JSONArray 保存到 java 2D 数组。

JSONArray mapatest = mapObject.getJSONArray("map");
String[][] innerArray = new String[0][];

for(int t = 0; t < mapatest.length(); t++){
JSONArray innerArrayObj = mapatest.getJSONArray(t);
Log.e("TEST: ","PRUEBA");

innerArray[t] = new String[innerArrayObj.length()];

for(int k = 0; k < innerArrayObj.length(); t++){
innerArray[t][k] = innerArrayObj.getString(k);
}
}

mapa.setMapa(innerArray);

但是当我运行应用程序时,它会抛出此异常:

E/AndroidRuntime:  Caused by: java.lang.ArrayIndexOutOfBoundsException: length=0; index=0

不知道问题出在哪里,数组已经初始化了。

最佳答案

你声明了

String[][] innerArray = new String[0][];

这意味着 innerArray 的外部尺寸为 0。请记住,可以使用索引 01、...、n-1 访问大小为 n 的数组。这意味着大小为 0 的数组无法容纳任何数据(但您可以创建它)。一旦您尝试使用某些索引访问 innerArray,例如

innerArray[t] = new String[innerArrayObj.length()];

您将收到ArrayIndexOutOfBoundsException

要解决这个问题,您必须正确初始化 innerArray 的外部维度(通过浏览您的代码,我会说String[][] insideArray = new String[mapatest.length ()][]; 应该这样做)。

关于java - 写入已初始化的二维数组时出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33767454/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com