对比
String和StringBuilder的对比在于String的字符是存储在一个被final修饰的char数组(类似于c中的指针常量)中的,而StringBuilder的字符是存储在一个普通的char数组中的。所以String要比StringBuilder慢很多。
而StringBuilder和StringBuffer对比又在于:
StringBuffer类会加锁,它为了多线程而设计的,这样可以防止多个线程同时操作同一个对象,也就是线程安全。
综上所述,关于拼接字符串时,在单线程操作时,请选择StringBuilder;若涉及到多线程操作同一个字符串时,请使用StringBuffer。