几个相关类: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高。
本文详细介绍了Java中字符串操作的相关类,包括Character、String、StringBuffer和StringBuilder。Character用于单个字符的操作;String为不可变类,任何修改都会创建新的String对象;StringBuffer和StringBuilder为可变类,可以高效地修改字符串内容,两者的主要区别在于StringBuffer支持线程安全,而StringBuilder不支持,因此在不需要线程安全的情况下,StringBuilder性能更高。
1556

被折叠的 条评论
为什么被折叠?



