gpt4 book ai didi

java - 在 ParseObject 上保存 2D 数组

转载 作者:行者123 更新时间:2023-12-01 11:34:55 25 4
gpt4 key购买 nike

我正在尝试将 2D int 数组 int[][] 保存到名为 group 的 ParseObject:

        ParseObject newGroup = new ParseObject("Group");
newGroup.put("group_name",grpName);
int[][] grpTable = new int[grpSize][grpSize];
initializeTable(grpTable,grpSize);
newGroup.put("group_table",grpTable);

在最后一行,应用程序崩溃,抛出:

java.lang.IllegalArgumentException: invalid type for value: class [[I

是否无法在解析中保存二维数组?你能提供替代方案吗?

我知道对于常规数组,我可以只使用 add 函数,但它在这里不起作用。

最佳答案

我不相信这是可能的。

我相信最简单的方法是将数据存储在单维数组中,并保留每行结束位置的计数器。

这是因为二维数组基本上都是一维数组,只是呈现方式不同。

例如:

[1,2,3
4,5,6
7,8,9];

可以表示为

[1,2,3,4,5,6,7,8,9];

只要您知道每行只有 3 个元素,将其转换回二维数组就很简单。

上面的代码是这样的,显然我需要查看initializeTable方法才能完全修复它。

ParseObject newGroup = new ParseObject("Group");
newGroup.put("group_name", grpName);

// Make the array grpSize*grpSize to handle rows/cols
// I.e if you normally had a 3x3 2d Array, this one would just be
// 9x1 instead.
int[] grpTable = new int[grpSize*grpSize];

// *Change initializeTable() to us a 1d array*.
initializeTable(grpTable, grpSize);
newGroup.put("group_table", grpTable);

关于java - 在 ParseObject 上保存 2D 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30103332/

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