我想知道是否有比使用此中断实现更好的替代方案。我正在努力提高自己的能力,以下确实有效。只是我一直听说Break;作为一种简单的出路,并产生潜在的意大利面条代码,虽然这里没有发生,但仍然如此。
public void getWoodSoldRecently(){
Calendar cal = Calendar.getInstance();
cal.add(Calendar.WEEK_OF_YEAR, -2);
for(Tree t : theTrees){
if(t.getSimpleDateSold().getTime().after(cal.getTime()) && t.getHasBeenSold()==true){
treesSold.add(t);
System.out.println(t.getTreeId() + " " + t.getTreeType());
}
else{
System.out.println("Nothing sold in the last 2 weeks");
break; //Stop the above
}
}
}
如果没有中断,“过去 2 周内没有售出任何商品”将输出存储在数组中的金额。
最佳答案
我怀疑你实际上并不想打破这里。当然,您想继续保留其余的树 - 仅仅因为您发现一棵树与您的条件不符(例如,它尚未出售),这是否真的意味着不能您以后的 Collection 中有匹配的吗?
无论如何,您的方法显然很奇怪,因为它是一个 get
方法,它不返回任何内容,而是向现有集合添加值。 这是我要改变的第一件事。
关于java - 更好的无中断 for 循环;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13294974/