【问题标题】:eclipse debugger showing false info?eclipse调试器显示错误信息?
【发布时间】:2013-06-25 14:28:42
【问题描述】:

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

【问题讨论】:

    标签: eclipse debugging


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-29
      • 2016-07-25
      • 2013-08-20
      • 2019-02-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多