我听说编译器(或者是JVM?)会自动使用StringBuilder进行一些字符串连接.什么时候明确声明一个?我不需要一个StringBuffer来线程安全.
谢谢.
解决方法
编译器将自动使用“”“进行任何字符串连接.
如果你想在一个循环中连接,你通常会明确地使用它.例如:
StringBuilder builder = new StringBuilder(); for (String name : names) { builder.append(name); builder.append(","); } if (builder.length() > 0) { builder.setLength(builder.length() - 2); } System.out.println("Names: " + builder);
另一种情况将是您想要通过多种方法构建一个字符串,或者可能限制建筑物的某些位置.基本上,如果您没有在单个语句(编译器可以帮助您)中构建字符串,则至少应考虑使用StringBuilder.