Java中增强的for循环的最后一次迭代

147

有没有办法确定循环是否正在执行最后一次迭代。我的代码看起来像这样:

int[] array = {1, 2, 3...};
StringBuilder builder = new StringBuilder();

for(int i : array)
{
    builder.append("" + i);
    if(!lastiteration)
        builder.append(",");
}

现在的问题是我不想在最后一次循环中添加逗号。现在是否有方法确定它是否为最后一次迭代,或者我只能使用for循环或外部计数器来跟踪。


3
是啊!真有趣,我也正想问同样的问题呢! - PhiLho
同样类型的问题会一再出现。那么,如果一个元素需要不同的处理,为什么要创建一个循环呢?https://dev59.com/AHVC5IYBdhLWcg3w4VVz - xtofl
既然你有一个固定的数组,为什么要使用增强型for循环?for(int i = 0; i< array.length; i++ if(i < array.lenth)... - AnthonyJClink
22个回答

0

这里有两种替代方案:

1:Apache Commons String Utils

2:保持一个名为first的布尔值,将其设置为true。在每次迭代中,如果first为false,则附加逗号;之后将first设置为false。


  1. 这个链接已经失效了
  2. 我读代码的时间比读描述的时间更长 :)
- Buffalo

0

如果你只是想把一个数组转换成以逗号分隔的数组,很多语言都有一个join函数可以实现这个功能。它可以将一个数组转换成一个字符串,并在每个元素之间加上指定的分隔符。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接