在java中,要输出一行字符串“1z2z3z4z.......9999z”,这样的循环字符串拼接,最高效的执行方法
字符串连接,性能最高的方法是使用StringBuffer类。
原因:String声明后变不可改变,原因是String引用的是地址;即新生成的字符串会被实例化出不同的地址,但在原来的字符串还被存储在内存当中。而StringBuffer类内容是可以改变的,所以新的字符串产生,老的字符串所占用的内存会被释放掉。
实例代码如下:
package zbj;
import java.lang.StringBuffer;
import java.lang.Thread;
class StringRun implements Runnable {
private StringBuffer stringBuffer;
public void run() {
try {
stringBuffer = new StringBuffer();
for (int i = 1; i <= 9999; i++) {
stringBuffer.append(i).append("z");
}
System.out.println(stringBuffer.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
public class Test {
private static StringRun stringRun;
private static Thread thread;
public static void main(String... strings) {
try {
stringRun = new StringRun();
thread = new Thread(stringRun);
thread.start();
} catch (Exception e) {
e.printStackTrace();
}
}
}