我有一些我想在Eclipse调试器中分析的集合。我对每个元素的特定属性感兴趣。
我们以Person
s列表为例(每个address
属性,city
属性又有list.get(i).address.city
属性。在调试器中,我可以查看每个元素或查看map
。
对大型结构这样做并不是很有帮助。是否有可能将函数应用于数据结构,类似于Perl中的map { $_->{address}->{city} } @list
函数(在调试器中而非代码中)。
输入将是我的列表,其中包含我感兴趣的路径(Person.address.city),输出列表中只包含所选元素(带有我的示例的城市列表)。
Perl:
String
修改
我可以使用详细格式化程序生成StringBuilder sb = new StringBuilder();
for (Person p : this) {
sb.append(p.address.city());
sb.append(", ");
}
return sb.toString();
:
String
这将使我感兴趣的元素(作为List
)格式化我的列表。
虽然它朝着正确的方向发展,但如果我能够返回一个我可以用调试器分析的新{{1}},那将会很不错。
答案 0 :(得分:3)
我认为,您感兴趣的Eclipse Debugger功能称为逻辑结构。您可以在Eclipse首选项(Java / Debug / Logical结构)中定义逻辑结构,您可以在其中编写这样的表达式(希望如此),然后在变量视图中可以替换弹出菜单中列表的显示。
有关基本提示,请参阅此博文:http://www.javalobby.org/forums/thread.jspa?threadID=16736&messageID=91823528
答案 1 :(得分:2)
显示视图使您能够在每个断点处执行自定义代码。只需在断点处读出您的数据结构并将其打印到控制台即可。