JAVA字符串

1.字符串的不变性!
String 对象创建后则不能被修改,是不可变的,所谓的修改其实是创建了新的对象,所指向的内存空间不同。
JAVA中的字符串!
运行结果
JAVA中的字符串!
 通过 String s1="爱慕课"; 声明了一个字符串对象, s1 存放了到字符串对象的引用,在内存中的存放引用关系如下图所示:
JAVA中的字符串!
然后通过 s1="欢迎来到:"+s1; 改变了字符串 s1 ,其实质是创建了新的字符串对象,变量 s1 指向了新创建的字符串对象,如下图所示:
JAVA中的字符串!

2、 一旦一个字符串在内存中创建,则这个字符串将不可改变。如果需要一个可以改变的字符串,我们可以使用StringBuffer或者StringBuilder(后面章节中会讲到)。

3、 每次 new 一个字符串就是产生一个新的对象,即便两个字符串的内容相同,使用 ”==” 比较时也为 ”false” ,如果只需比较内容是否相同,应使用 ”equals()” 方法

在处理字符串有专门的String类方法!
String 类提供了许多用来处理字符串的方法,例如,获取字符串长度、对字符串进行截取、将字符串转换为大写或小写、字符串分割等
JAVA中的字符串!
结合代码来熟悉一下方法的使用:
JAVA中的字符串!
运行结果:
JAVA中的字符串!
常用的String方法二
JAVA中的字符串!
JAVA中的字符串!

那么,“==” 和 equals() 有什么区别呢?

==: 判断两个字符串在内存中首地址是否相同,即判断是否是同一个字符串对象

equals(): 比较存储在两个字符串对象中的内容是否一致

认识 Java 中的 StringBuilder 类

由于当频繁操作字符串时,就会额外产生很多临时变量。使用 StringBuilder 或 StringBuffer 就可以避免这个问题。
StringBuffer 是线程安全的,而 StringBuilder 则没有实现线程安全功能,所以性能略高
JAVA中的字符串!
StringBuilder 类提供了很多方法来操作字符串
JAVA中的字符串!
在下面的示例代码中,创建了 StringBuilder 对象,用来存储字符串,并对其做了追加和插入操作。这些操作修改了 str 对象的值,而没有创建新的对象,这就是 StringBuilder 和 String 最大的区别。
JAVA中的字符串!JAVA中的字符串!

相关文章:

  • 2021-09-02
  • 2021-10-01
  • 2021-10-03
  • 2021-04-07
  • 2022-01-07
  • 2021-11-17
  • 2021-11-17
猜你喜欢
  • 2021-09-28
  • 2021-09-24
  • 2021-12-22
相关资源
相似解决方案