在VSCODE或Intellij的调试器的手表区域中,从其迭代器中打印Java Collections对象
有时,我需要在调试代码期间观察PriorityQueue或Hashset的变化。我可以通过添加行arrays.toString(arr)
中的 观看 观看 字段。但是我无法添加使用迭代器打印其值的收藏集。
- 我尝试调用打印迭代对象的方法,但未能调用该方法。
- 我使用Steam API,如下所示:
Iterable<Integer> iterable = pq.iterator();//pq is a priorityqueue
List<Integer> array = StreamSupport
.stream(iterable.spliterator(), false)
.collect(Collectors.toList());
Iterator<Integer> itr = pq.iterator();
但显示出错误
类型不匹配:无法转换为迭代器&lt; integer&gt;到Itable&lt; integer&gt; java(16777233)
我如何在手表字段中看到我的迭代对象?或建议如果有的话。
Sometimes I need to observe changes in PriorityQueue or HashSet during debugging the code. I can watch arrays in watch field of Intellij/VsCode debugger by adding line Arrays.toString(arr)
. But I can't add collections which uses iterator to print their values.
- I tried to call the method which prints iterator objects but it failed to call the method.
- I used steam api as shown below:
Iterable<Integer> iterable = pq.iterator();//pq is a priorityqueue
List<Integer> array = StreamSupport
.stream(iterable.spliterator(), false)
.collect(Collectors.toList());
Iterator<Integer> itr = pq.iterator();
But it shows error
Type mismatch: cannot convert from Iterator<Integer> to Iterable<Integer>Java(16777233)
How can I see my iterator objects in watch field during debugging? Or suggest an extension if there is any.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论