带迭代器的java嵌套forloops?
我有以下代码,它使用嵌套for each循环遍历Job类和Category类中的两个ArrayList属性(以及对属性执行一些逻辑):
for(Object dobj : hospice.getCategorys()) {
Category cat = (Category) dobj;
for(Object pobj : cat.getJobs()) {
Job job = (Job) pobj;
if(job.getID() == id) {
System.out.println(
String.format("The Job %d belongs to the (%s) %s Category.",
id,
cat.getCode(),
cat.getName()));
catFound = true;
}
}
}
有没有办法通过这种方法使用Java迭代器来创建一个更加优雅、经得起未来考验的解决方案
谢谢
# 1 楼答案
带迭代器的嵌套循环是可以的。但更优雅的解决方案不使用显式强制转换。更好的解决方案是获取类型化迭代器:
请注意,在这种情况下,您的方法应该返回类型化对象
Category
和Job
,而不是Object