考虑以下代码:
ArrayList<Integer> aList = new ArrayList<Integer>();
aList.add(2134);
aList.add(3423);
aList.add(4234);
aList.add(343);
String tmpString = "(";
for(int aValue : aList) {
tmpString += aValue + ",";
}
tmpString = (String) tmpString.subSequence(0, tmpString.length()-1) + ")";
System.out.println(tmpString);
Run Code Online (Sandbox Code Playgroud)
我的结果是(2134,3423,4234,343)如预期的那样..
我将最后一个逗号替换为结尾)以获得预期结果.总的来说有更好的方法吗?
Rob*_*ska 16
你可以使用Commons Lang:
String tmpString = "(" + StringUtils.join(aList, ",") + ")";
Run Code Online (Sandbox Code Playgroud)
或者,如果您不能使用外部库:
StringBuilder builder = new StringBuilder("(");
for (int aValue : aList) builder.append(aValue).append(",");
if (aList.size() > 0) builder.deleteCharAt(builder.length() - 1);
builder.append(")");
String tmpString = builder.toString();
Run Code Online (Sandbox Code Playgroud)
从Java 8开始,您还可以:
ArrayList<Integer> intList = new ArrayList<Integer>();
intList.add(2134);
intList.add(3423);
intList.add(4234);
intList.add(343);
String prefix = "(";
String infix = ", ";
String postfix = ")";
StringJoiner joiner = new StringJoiner(infix, prefix, postfix);
for (Integer i : intList)
joiner.add(i.toString());
System.out.println(joiner.toString());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18711 次 |
| 最近记录: |