我有以下 Java 程序,但我不希望在最后一个元素之后分配“,”,该怎么办?
String range = "400-450";
Integer startRange = null;
Integer endRange = null;
StringTokenizer st = new StringTokenizer(range,"-");
while(st.hasMoreTokens()) {
startRange = Integer.parseInt(st.nextToken());
endRange= Integer.parseInt(st.nextToken());
}
StringBuilder sb = new StringBuilder();
for (int i = startRange; i <= endRange; i++) {
sb.append(i).append(",");
}
System.out.println(sb);
输出应该是
400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,4 30,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450
--> 最后没有逗号
最佳答案
对于Java 8,您可以切换到新类 StringJoiner
正是为了这个目的而添加的:
StringJoiner sb = new StringJoiner(",");
for (int i = startRange; i <= endRange; i++) {
sb.add(String.valueOf(i));
}
System.out.println(sb.toString());
手动执行此操作,我建议在项目之前添加逗号,然后使用 substring(1):
for (int i = startRange; i <= endRange; i++) {
sb.append(",").append(i);
}
//Check for empty before!
System.out.println(sb.substring(1));
关于java - 使用 StringBuilder 时删除了最后一个逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34740362/