一、在 Java 中,字符串被作为 String 类型的对象处理。 String 类位于 java.lang 包中。默认情况下,该包被自动导入所有的程序。
1、创建String对象: String 对象名; String name;
创建时可以同时赋值 String name="张三";
二、String 对象创建后则不能被修改,是不可变的,所谓的修改其实是创建了新的
对 象, 所指向的内存空间不同。
1、 通过 String s1="爱慕课"; 声明了一个字符串对象, s1 存放了到字符串对象的引 用,在内存中的存放引用关系如下图所示:
然后通过 s1="欢迎来到:"+s1; 改变了字符串 s1 ,其实质是创建了新的字符串对象,变量 s1 指向了新创建的字符串对象,如下图所示:
2、 一旦一个字符串在内存中创建,则这个字符串将不可改变。如果需要一个可以改变的字符串,我们可以使用StringBuffer或者StringBuilder(后面章节中会讲到)。
3、 每次 new 一个字符串就是产生一个新的对象,即便两个字符串的内容相同,使用 ”==” 比较时也为 ”false” ,如果只需比较内容是否相同,应使用 ”equals()” 方法(前面条件运算符章节讲过哦~~)
三、String 类中的常用方法
String 类的常用方法:
1、“==” 判断两个字符串在内存中首地址是否相同,即判断是否是同一个字符串对象,equals(): 比较存储在两个字符串对象中的内容是否一致
2、除了可以使用 String 类来存储字符串,还可以使用 StringBuilder 类
或 StringBuffer 类存储字符串,他们之间的区别:String 存储,如果修改内容,会生成
新的内存地址,过于频繁操作,会额外产生很多临时变量,而用StringBuilder 类
或 StringBuffer 类存储字符串,就可以解决这个问题。它们基本相似,不同之处,
StringBuffer 是线程安全的,而 StringBuilder 则没有实现线程安全功能,所以性能略
高。因此一般情况下,如果需要创建一个内容可变的字符串对象,应优先考虑使用
StringBuilder 类。

运行结果:imooc
四、Java 中的 StringBuilder 类的常用方法
1、StringBuilder 类提供了很多方法来操作字符串:
例如:在下面的示例代码中,创建了 StringBuilder 对象,用来存储字符串,并对其做
了追加和插入操作。这些操作修改了 str 对象的值,而没有创建新的对象,这就是
StringBuilder 和 String 最大的区别。