20230516 java.lang.StringBuilder

发布时间 2023-08-28 09:53:43作者: 流星<。)#)))≦

介绍

  • java.lang.StringBuilder
  • public final class StringBuilder extends AbstractStringBuilder implements java.io.Serializable, Comparable<StringBuilder>, CharSequence
  • 此类提供与 StringBuffer 兼容的 API,但不保证线程安全
  • append 方法总是在构建器的末尾添加这些字符; insert 方法在指定点添加字符

构造函数

  • public StringBuilder()
  • public StringBuilder(int capacity)
  • public StringBuilder(String str)
  • public StringBuilder(CharSequence seq)

API

编辑等操作:

  • append
  • delete, deleteCharAt
  • insert
  • replace
  • reverse
  • toString

其他:

  • charAt
  • chars
  • compareTo
  • indexOf, lastIndexOf
  • isEmpty
  • length
  • subSequence, subString

代码示例

import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

public class StringBuilderTest {

    @Test
    void testAppend() {
        StringBuilder builder = new StringBuilder("Hello");
        builder.append(" world");
        Assertions.assertEquals("Hello world", builder.toString());
    }

    @Test
    void testInsert() {
        StringBuilder builder = new StringBuilder("1234");
        builder.insert(2, "56");
        Assertions.assertEquals("125634", builder.toString());
    }

    @Test
    void testDelete() {
        StringBuilder builder = new StringBuilder("abcdefg");
        builder.delete(1, 3);
        Assertions.assertEquals("adefg", builder.toString());
    }

    @Test
    void testReverse() {
        StringBuilder builder = new StringBuilder("abcde");
        builder.reverse();
        Assertions.assertEquals("edcba", builder.toString());
    }

    @Test
    void testReplace() {
        StringBuilder builder = new StringBuilder("abcde");
        builder.replace(1, 3, "12");
        Assertions.assertEquals("a12de", builder.toString());
    }
    
}