几个相关类:Character,String,StringBuffer,StringBuilder
Character,单个字符的操作,JDK5.0新增了很多新方法,都是对应unicode4.0的
String,不可变类,不能被继承,对String值的改变都会引起新的String对象生成(例如通过"+"相加字符串)。
StringBuffer,可变类,对其改变不会引起新的对象生成(例如通过 append 相加字符串),对字符串的操作性能比String高很多。
StringBuilder,可变类,StringBuffer有的方法StringBuilder都有,唯一区别是StringBuilder不是线程安全的(没有进行synchronized),而StringBuffer是线程安全的(进行synchronized)所以,在线程安全不是问题的情况下(如单线程、线程局部使用或方法内部的临时变量时)完全可以使用StringBuilder代替StringBuffer,其性能比StringBuffer高。
Character,单个字符的操作,JDK5.0新增了很多新方法,都是对应unicode4.0的
String,不可变类,不能被继承,对String值的改变都会引起新的String对象生成(例如通过"+"相加字符串)。
StringBuffer,可变类,对其改变不会引起新的对象生成(例如通过 append 相加字符串),对字符串的操作性能比String高很多。
StringBuilder,可变类,StringBuffer有的方法StringBuilder都有,唯一区别是StringBuilder不是线程安全的(没有进行synchronized),而StringBuffer是线程安全的(进行synchronized)所以,在线程安全不是问题的情况下(如单线程、线程局部使用或方法内部的临时变量时)完全可以使用StringBuilder代替StringBuffer,其性能比StringBuffer高。