String 与 StringBuffer

来源:互联网 发布:国内域名有哪些 编辑:程序博客网 时间:2024/06/05 06:11

String与StringBuffer的关系类似与数组和List的关系。

String是不可变类型,它的每一次赋值过程都是对象重新创建的过程。

例如

String s = ”Hello“;

s = ”Hello World“;

s = s.cancat("!");

上面三条语句实际上创建了三个对象,虽然前面两个对象没用了,但是仍旧会保存在内存中。

StringBuffer是可变类型,它的赋值过程可以通过方法直接在原有对象上进行修改。

例如

StringBuffer sb =”Hello“;

sb.append(" World");

sb.append("!");

上面三条语句实际上操作的都是同一个对象,内存中只有一个对象。

0 0