I’m working on a server that returns character separated lists to its client.
In order to build these lists I have to detect the first iteration through a for-each loop:
StringBuilder builder = new StringBuilder() ;
boolean firstIterationFlag = true ;
for ( String s : list ){
if ( firstIterationFlag) {
firstIterationFlag = false ;
} else {
builder.append(separator);
}
builder.append(s) ;
}
return builder.toString() ;
Is there a way of doing this without the flag?
One simpler way for this situation is to note that you can always append an empty string:
Alternatively (and preferrably) use Guava’s
Joinerclass to start with 🙂This “joiner” scenario is almost always the one given for this requirement – so just use
Joiner. For other scenarios, either use a regularforloop or use the condition as per your code.