基本字符串操作,删除While循环中的最后一个字符

时间:2012-07-18 15:48:02

标签: java collections

我正在努力解决下面这个基本代码,

如何阻止最后一个逗号“,”被附加到字符串。

    String outScopeActiveRegionCode="";

    List<String> activePersons=new ArrayList<String>();

    HashSet<String> outScopeActiveRegionCodeSet=new HashSet<String>();

    for (String person : activePersons) {

       outScopeActiveRegionCodeSet.add(person); 

    }
       Iterator itr = outScopeActiveRegionCodeSet.iterator();

             while(itr.hasNext()){
                outScopeActiveRegionCode+=itr.next();
                outScopeActiveRegionCode+=",";
             }

2 个答案:

答案 0 :(得分:6)

我实际上是以相反的方式执行,id除了第一个以外的所有情况之前都附加逗号,更容易。

boolean isFirst = true;
while(itr.hasNext()) {
    if(isFirst) {
        isFirst = false;
    } else {
        outScopeActiveRegionCode+=",";
    }
    outScopeActiveRegionCode+=itr.next();
}

这样做的原因是,检测第一种情况比最后一种情况简单得多。

答案 1 :(得分:2)

我愿意:

String delimiter = "";

while(itr.hasNext()){
    outScopeActiveRegionCode += delimiter;
    outScopeActiveRegionCode += itr.next();
    delimiter = ",";
}