用StringBuffer的次数还真是少,appand这个方法是StringBuffer独有的,
String是字符串,而字符串是对象,对象里有一个概念叫做可变对象和非可变对象,
String属于非可变对象,传递的是引用的地址 不存在地址指向的值被改变的情况,
保证了引用传递的准确性,除非给变量赋值了新的地址,String作为参数传递时是
值传递,值指的是对象的引用的地址!
StringBuffer属于可变对象,
可能有人会问String str=“aa”;str="bb";这句话也能通过编译啊,没有任何错误啊,是的,这句话的确没有一丁点的错误,不过你忽略了一点,就是“aa”和“bb”是字符串吧,字符串是对象吧,他们压根就不是一个对象,
说String是不可变对象,其实在String str="aa"这句话其实是一个引用的使用,他引用到了一个对象,str在等于“aa”之前他所指向的地址和后来并不是一样的,就是说他并不是把值给了str,而是把对象的引用给了他,换句话说就是把对象的地址给了他,然而你想改变“aa”这个对象地址的数据通过String是不可能实现的
如果你对字符串中的内容经常进行操作,特别是内容要修改时,那么使用StringBuffer,
如果最后需要String,那么使用StringBuffer的toString()方法好了!