java - 随机数组值为空

标签 java arrays null

这是我的情况:我有一个数组 answerChoices[][],并且我根据 answerChoices[][] 中的值创建 2 个新数组。第一个 finalAnswerChoices1[][] 创建为:

System.arraycopy(answerChoices, 0, FinalAnswerChoices1, 0, FinalAnswerChoices1.length); 并且行为符合预期。但是,对于第二个数组,我只需要 answerChoices[][] 中的特定元素,然后创建最终数组,如下所示:

for (int x = 0; x < widebodies.length; x++) {
     for (int y = 0; y < 6; y++) {
          finalAnswerChoices2[x][y] = answerChoices[widebodies[x]][y];
           }
     }

widebodies是一个整数数组。

我的问题是这样的:当使用第二种方法创建finalAnswerChoices2[][]时,其中的一些值为空。最大的问题是我不能 100% 地重复它,因为对我来说,它看起来是“随机”的,哪个值是空的,如果有的话是空的。某些情况下没有空值,而其他情况下则存在“随机”空值。使用 arraycopy 的第一种方法不会导致任何问题。

对于什么可能导致这种奇怪的行为有什么建议吗?

最佳答案

问题似乎是您的 finalAnswerChoices2.lengthwidebodies.lengthfinalAnswerChoices2[0].length 不同(较大)与 6 不同。因此,finalAnswerChoices2 数组仍将包含数组初始化中的 0 值(默认),而这些位置是循环无法到达的。

关于java - 随机数组值为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37121285/

相关文章:

java - 如何解析css(stylesheet)注释(annotations)?

java - 通过 JSON 加载 Hashmap

c - 了解由于 getchar 而导致的 c 循环

jquery - 我想将元素插入数组

javascript - 获取动态生成的下拉菜单Jquery的值

java - 无法启动 Tomcat 服务器实例

java - 实现StatefulJob时 "delay"是什么意思?

ios - 使用阵列 SWIFT 从 child 那里接收 Firebase 快照

java - 混淆java中的 "==null"和 "==" ""?

MySQL AVG() 如果为 NULL 则返回 0