java - 移动数据时的空指针

标签 java arrays hashtable

我有一个函数填充字符串数组的 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/

相关文章:

java - 在二分查找中, 'returned' 是什么

java - 如何使用robotium调用另一个类中的方法

java - countTokens() 在用户输入时总是返回 1

javascript - HTML、CSS、JS 数组元素在函数值更改后删除

java - 在 Java 中使用 HashTable 的问题

java - 方法中是否需要 "volatile"?

android - 在 Android 中使用 XML 定义层次结构

java - 我的随机数组给了我相同的答案,而它应该是不同的

c++ - std::map 中的 find() 函数返回一个值,尽管没有有效的键

common-lisp - EQ 哈希表真的比 SBCL 中的 EQUAL 哈希表更有效吗?