转:
大家都应该了解以下几点:
1、在java中的字符串类是一个 final 类型的类,也就是说它不可以被继承
2、一旦一个字符串对象被创建,那么这个字符串的长度,串内某个字符都是固定的。字符串中的如求子串,替换字符串等方法,以及字符串的连接操作都会返回一个新的字符串对象,而不是在原来字符串的基础之上进行修改。
因此,在java中,字符串对象就要被尽量的重用。如 String a = "abc"; 这样的语句,则凡是在进程中出现相同的字符串常量,都会引用到同一个字符串对象。由于前面说的第2点原因,这种做法不会带来错误。也就是说象
String a = "abc";
String b = "abc";
String c = "abc";
.
.
.
String z = "abc";
这类语句,最终只会有一个字符串对象。
而每使用一次 new String("abc"),都会生成一个新的字符串对象。