Java中的String和StringBuffer有什么区别?
字符串有最大大小吗?
String 用于处理无法更改的字符串(只读和不可变的)。
String
StringBuffer 用于表示可以修改的字符。
StringBuffer
明智的StringBuffer执行连接时,速度更快。这是因为,当连接a时String,由于每次String都是不可变的,因此每次(内部)都将创建一个新对象。
您也可以使用StringBuilder类似于StringBuffer未同步的选项。对任一这些的最大大小为Integer.MAX_VALUE(2 31 - 1 = 2147483647)或最大堆大小除以2(见多少字符可以一个Java字符串有?)。更多信息在这里。
StringBuilder
Integer.MAX_VALUE