Eclipse调试器和集合

6

我有一些集合需要在Eclipse调试器中进行分析。我对每个元素的特定属性感兴趣。

让我们以一个Person列表为例(每个人都有一个address属性,其中又有一个city属性)。在调试器中,我可以查看每个元素,也可以查看list.get(i).address.city

对于大型结构来说,这样做并不是很有帮助。是否有可能对数据结构应用函数,类似于Perl中的map函数(在调试器中而不是在代码中)。

输入将是我感兴趣的路径(Person.address.city)的列表,输出将是仅包含所选元素的列表(例如我的示例中的城市列表)。

在Perl中:

map { $_->{address}->{city} } @list

编辑

我可以使用详细格式化程序生成一个 String

StringBuilder sb = new StringBuilder();
for (Person p : this) {
    sb.append(p.address.city());
    sb.append(", ");
}
return sb.toString();

这将使用我感兴趣的元素(作为 String)格式化我的列表。

虽然它朝着正确的方向发展,但如果我能返回一个新的可以用调试器分析的 List 就更好了。

2个回答

3
我想,你感兴趣的Eclipse调试器功能被称为逻辑结构。你可以在Eclipse首选项(Java/Debug/Logical structures)中定义逻辑结构,其中你可以编写这样的表达式(希望如此),然后在变量视图中,你可以替换弹出菜单中列表的显示。
查看此博客文章获取基本想法:http://www.javalobby.org/forums/thread.jspa?threadID=16736&messageID=91823528

2
“显示”视图为您提供了在每个断点处执行自定义代码的能力。只需在断点处读取数据结构并将其打印到控制台上即可。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接