Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用迭代器嵌套for循环?_Java - Fatal编程技术网

Java 使用迭代器嵌套for循环?

Java 使用迭代器嵌套for循环?,java,Java,我有以下代码,它使用嵌套for each循环遍历Job类和Category类中的两个ArrayList属性(以及对属性执行一些逻辑): 有没有办法利用Java迭代器和这种方法来创建一个更优雅、更经得起未来考验的解决方案 谢谢。带迭代器的嵌套循环可以。但更优雅的解决方案不使用显式强制转换。更好的解决方案是获取类型化迭代器: for (Category cat : hospice.getCategorys()){ for (Job job : cat.getJobs()){ // log

我有以下代码,它使用嵌套for each循环遍历Job类和Category类中的两个ArrayList属性(以及对属性执行一些逻辑):

有没有办法利用Java迭代器和这种方法来创建一个更优雅、更经得起未来考验的解决方案


谢谢。

带迭代器的嵌套循环可以。但更优雅的解决方案不使用显式强制转换。更好的解决方案是获取类型化迭代器:

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
  }
}