相同点:
StringBuilder和String都是用来接收和处理字符串类型的数据
不同点:
String拼接字符串的时候,是先将每个字符串在内存中创建出来,然后再将字符串拼接成一个新的字符串返回,这样做对于几个字符串来说不会有什么效率和感知上的差别。
StringBuilder它是一种动态对象,它所代表的字符串是可变的,它的字符串拼接原理是在该对象的地址后面加上要拼接的对象,不用反复的去开辟创建新的地址,节省了内存资源也提高了拼接性能,当有大量的拼接需求或者不可知的拼接次数时,推荐使用StringBuilder来进行字符串的拼接。
注意:
当修改字符串信息时,此时不许创建对象,可以使用stringBuilder对象
使用stringBuilder对象拼接完后,对象的类型是StringBuilder类型,需要toString转换成String类型。
个人觉得拼接次数超过5次就可以考虑使用StringBuilder进行拼接操作。