1.3 字符串的不变性

发布时间:2025-06-24 20:00:52  作者:北方职教升学中心  阅读量:594


:使用new关键字创建String对象,以这种方式创建的字符串对象不会存储在字符串常量池中。Stringbuilder通过内部字符数组存储字符串数据。后缀和分隔符时。

sb.insert(6, "Java "); // sb = "Hello Java World"delete(int start, int end):

在此序列的子字符串中删除字符。替换等)将生成一个新的字符串对象。

String s1 = "hello";  String s2 = "hello"; // s2将在字符串常量池中重复使用s1的对象。

1.2 常用方法。在处理字符串时,


1.1 String的定义。Stringbuilder是。

2.1 常用方法。

2.3 使用场景。 。

String str = "hello";  char c = str.charAt(1); // c = 'e'
  • indexOf(String str):在这个字符串中首次出现的指定子字符串返回索引。


    出来的。


    引言。

    1.1.1 直接赋值。StringJoiner。它们各有不同的特点和用途,下面将详细分析这三类,并附带代码示例。

    2.2 动态扩容策略。Java 5。

    三、

    为准。StringJoiner。

    1.3 字符串的不变性。不同于String,Stringbuilder允许在不生成新对象的情况下修改字符串的内容,从而提高了字符串处理的效率和性能。:可变字符序列,适用于需要频繁修改字符串内容的场景,如拼接、

    String是Java中的一个类,代表不可变的字符序列。

    一、

    1.1 String的定义。StringJoiner sj = new StringJoiner(",", "[", "]");

    3.2 常用方法。

StringBuilder sb = new StringBuilder("Hello"); sb.append(" World"); // sb = "Hello World"insert(int offset, String str):

在此字符序列中的指定位置插入指定字符串。这种动态扩容策略可以减少内存的重新分配和复制次数,从而提高性能。

int index = str.indexOf("e"); // index = 1。

String lower = str.toLowerCase(); // lower = "hello"  String upper = str.toUpperCase(); // upper = "HELLO"

1.3 字符串的不变性。

sb.delete(5, 11); // sb = "Hello World"reverse():

以其反转形式取代这个字符序列。由于String的不可变性,一旦创建,其内容不能改变。
  • substring(int beginIndex, int endIndex):返回字符串的子字符串,从beginindex开始;包括)到endindex(不包括)。


    2.3 使用场景。一个新的类别,基于Stringbuilder实现󿀌用于实现字符串之间通过分隔字符拼接的场景。②字符串反转。它简化了字符串拼接的复杂性,特别是当需要添加前缀、首先要找出是否有相同的字符串,有复用󿀌无需创建;

    ②new关键字创建字符串,不会复用�相反,字节数组。

add(CharSequence newElement):将新元素添加到StringJoiner中。后缀和分隔符的场景。②添加的内容小于16,直接存。String。StringJoiner。

StringJoiner(CharSequence delimiter):创建没有前缀和后缀的StringJoiner󿼌使用指定的分隔符。)。当现有容量不足以容纳更多字符时,它会自动扩容。

1.1.2 创建new关键字 。

2.1 常用方法。它们都开辟了一个新的空间。总结。

  • toLowerCase() 和 toUpperCase():将字符串转换为小写或大写。

    注释:目前添加的内容只能是。

    字符串。

    StringJoiner sj = new StringJoiner(",");

    StringJoiner(CharSequence delimiter, CharSequence prefix, CharSequence suffix):

    用指定的前缀、String result = sj.toString(); // result = "[hello,world]"

  • 3.3 示例。

    二、StringBuilder和StringJoiner是常用的三类。


    ④如果默认扩容不够,则以。注:键盘输入得到的字符串最终是。

    3.1 构造方法。

    由于String的不可变性,任何修改字符串的操作(如拼接、String。

    3.3 示例。

    实际长度。扩展底层原理:

    ①默认情况下创建一个长度为。


    String result = sb.toString(); // result = "Hello World"

    2.2 动态扩容策略。

    String result = sb.toString(); // result = "Hello World"

    2.2 动态扩容策略。

boolean isEqual = s1.equals(s3); // true。

3.2 常用方法。后缀和分隔符创建StringJoiner。

引言。

通过new关键字。


一个类,可变字符串用于创建和操作。

String。删除等操作。

String s3 = new String("hello");

1.2 常用方法。

①字符串拼接。

①字符串常量池中有直接赋值的字符串,在创建字符串常量池时,


1.1.1 直接赋值。StringJoiner sj = new StringJoiner(",", "[", "]");

3.2 常用方法。

③添加的内容大于16会扩容(原容量*2+2。

总结。

Java 8。

16。


1.1.2 创建new关键字 。它是Java最常用的类别之一,用于表示文本信息。

二、


一、append(String str):

将指定的字符串添加到此字符序列中。


由于String的不可变性,任何修改字符串的操作(如拼接、替换等)一个新的字符串对象将生成。

1.4 存储字符串内存的原理。StringJoiner sj = new StringJoiner(",", "[", "]"); sj.add("hello"); sj.add("world"); System.out.println(sj.toString()); // 输出: [hello,world]。StringBuilder。


StringJoiner是。

String sub = str.substring(1, 4); // sub = "ell"
  • equals(Object anObject):比较两个字符串的内容是否相等。三、这可能会导致大量的内存分配和垃圾回收,特别是在处理大量字符串操作时。

    目录。StringBuilder。

    :不可变的字符序列,适用于不需要修改字符串内容的场景。

1.4 存储字符串内存的原理。任何修改字符串的操作都会生成一个新的字符串对象。

  • 总结。:基于Stringbuilder实现󿀌简化了字符串拼接的复杂性,特别适用于需要添加前缀、new。
  • sj.add("hello");  sj.add("world");

    toString():

    • 返回拼接后的字符串。

      3.1 构造方法。

      Java,字符串处理是一项常见的任务,而String、

      sb.reverse(); // sb = "dlroW olleH"toString():

      返回此序列中数据的字符串表示形式。:String变量࿰通过双引号直接赋值c;以这种方式创建的字符串将存储在字符串常量池中,为了节省内存。StringBuilder。
      • charAt(int index):返回指定索引处的字符。

        直接赋值。 。