String是不可边类型,一旦创建就不能修改,当涉及String和String运算时,会创建多个String对象,有消耗,但不必太在意这点。
StringBuffer是可变类型,可以修改,不会频繁创建对象,并且线程安全,看看源码就知道了,有很多synchronized,在使用性能上要优于String。
StringBuilder和StringBuffer一样,只是少了synchronized,在多线程下不安全,但在使用StringBuilder时,有多少是在多线程下呢?!一般90%以上不在多线程下。推荐使用。
使用的优先顺序StringBuilder > StringBuffer > String
没有评论:
发表评论