我有一个函数填充字符串数组的 HashMap
(rMap
)。一旦满足某些条件,例如 r.Map.size() != 0
我然后在另一个文件(rMap
是一个全局变量)中调用以下 String array[] = rMap.get(0)
由此我尝试 System.out.println(array[0])
。
这就是程序的运行,我在System.out.println(array[0]);
处得到一个空指针。有人知道为什么会发生这种情况吗?
编辑:我正在像这样填充 map ..
String center[] = new String[] { tname, tmessage, tlink, tsname };
Global.rMap.put(index, center);
数组中的所有值都是字符串变量。所以我访问它的值tname
并且它不等于null。我查过了。我的键值是一个字符串
最佳答案
array
引用为 null,很可能是因为没有使用键 0
将值(或 null
)添加到 rMap 中。
如果可能,请使用泛型来确保您的 key 类型正确。您还可以在获取数组
之前打印出 map 的值,以查看 map 中的内容。使用调试器单步执行代码,并在 rMap
上查看,还将显示 map 包含的内容以及更改的时间。
关于java - 移动数据时的空指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3501578/