eclipse调试器显示错误信息?

时间:2013-06-27 22:15:18

标签: eclipse debugging

我试图在Eclipse上做一些调试,但似乎调试器对我说谎。我有一个名为Map<String, NormalizedFunction>的函数。当我点击断点时,变量函数是可见的。当我从变量视图中选择它时,它会显示“{getX()=[]int getX()}”,这是正确的。显然,这张地图有一个键和一个值。但是,当我打开函数变量并选择keysetvalues时eclipse说它为null。如果它清楚地显示有一个键和一个值,并且代码运行正确,那该怎么办?

1 个答案:

答案 0 :(得分:1)

调试器没有说谎。您假设地图的所有键都应存储在HashMap的私有keySet字段中。但这种情况并非如此。调用keySet()方法时,此变量会延迟填充。只需看看方法实现。

如果您想了解有关地图的信息,请使用其记录的指定API:使用显示视图,输入functions.keySet(),右键单击并选择“评估”,然后你真的会得到地图的关键集。