Java 使用迭代器嵌套for循环?
我有以下代码,它使用嵌套for each循环遍历Job类和Category类中的两个ArrayList属性(以及对属性执行一些逻辑): 有没有办法利用Java迭代器和这种方法来创建一个更优雅、更经得起未来考验的解决方案Java 使用迭代器嵌套for循环?,java,Java,我有以下代码,它使用嵌套for each循环遍历Job类和Category类中的两个ArrayList属性(以及对属性执行一些逻辑): 有没有办法利用Java迭代器和这种方法来创建一个更优雅、更经得起未来考验的解决方案 谢谢。带迭代器的嵌套循环可以。但更优雅的解决方案不使用显式强制转换。更好的解决方案是获取类型化迭代器: for (Category cat : hospice.getCategorys()){ for (Job job : cat.getJobs()){ // log
谢谢。带迭代器的嵌套循环可以。但更优雅的解决方案不使用显式强制转换。更好的解决方案是获取类型化迭代器:
for (Category cat : hospice.getCategorys()){
for (Job job : cat.getJobs()){
// logic here
}
}
请注意,在这种情况下,您的方法应该返回类型化对象
Category
和Job
,但不返回Object
我不知道您是从哪里学会这种风格的,但我敢打赌,每本Java新手手册都包含了for each循环的用法,并适当地使用了泛型。我建议你带一本Java书,真正地读一次,学习如何按照它应该的方式使用不同的工具。还有,请注意你的拼写。它应该是“类别”而不是“类别”。正确的拼写对可维护性很重要。GetCategoris()和getJobs()返回什么类型?啊,好的。我让GetCategoris()返回一个集合。用ArrayList替换它现在可以工作了。谢谢
for (Category cat : hospice.getCategorys()){
for (Job job : cat.getJobs()){
// logic here
}
}