Skip to content

String and String Builder

String

1. length()

  • Syntax:

public int length()
- 示例:

String s = "Hello";
int len = s.length();  // len = 5
- 解释:
返回字符串中字符的个数(Unicode 代码单元数)。


2. charAt(int index)

  • Syntax:

public char charAt(int index)
- 示例:

String s = "Hello";
char c = s.charAt(1);  // c = 'e'
- 解释:
返回指定位置处的字符,索引从 0 开始。若 index 越界会抛出 StringIndexOutOfBoundsException


3. substring(int beginIndex) / substring(int beginIndex, int endIndex)

  • Syntax:

public String substring(int beginIndex)
public String substring(int beginIndex, int endIndex)
- 示例:

String s = "HelloWorld";
String s1 = s.substring(5);      // s1 = "World"
String s2 = s.substring(0, 5);   // s2 = "Hello"
- 解释:

  • substring(beginIndex):截取从 beginIndex 到字符串末尾的子串。
  • substring(beginIndex, endIndex):截取从 beginIndex(包含)到 endIndex(不含)的子串。

4. indexOf(String str) / lastIndexOf(String str)

  • Syntax:

public int indexOf(String str)
public int lastIndexOf(String str)
- 示例:

String s = "banana";
int i1 = s.indexOf("an");        // i1 = 1
int i2 = s.lastIndexOf("an");    // i2 = 3
- 解释:

  • indexOf:返回子串首次出现的位置,未找到返回 -1。
  • lastIndexOf:返回子串最后一次出现的位置,未找到返回 -1。

5. equals(Object anObject) / equalsIgnoreCase(String anotherString)

  • Syntax:

public boolean equals(Object anObject)
public boolean equalsIgnoreCase(String anotherString)
- 示例:

String a = "Java";
String b = "java";
boolean eq1 = a.equals(b);                 // false
boolean eq2 = a.equalsIgnoreCase(b);       // true
- 解释:

  • equals:区分大小写比较两个字符串是否相等。
  • equalsIgnoreCase:忽略大小写比较。

6. toUpperCase() / toLowerCase()

  • Syntax:

public String toUpperCase()
public String toLowerCase()
- 示例:

String s = "Hello";
String up = s.toUpperCase();    // "HELLO"
String low = s.toLowerCase();   // "hello"
- 解释:
将字符串中的所有字符转换为相应的大小写形式,返回新字符串。


7. trim()

  • Syntax:

public String trim()
- 示例:

String s = "  abc  ";
String t = s.trim();    // "abc"
- 解释:
去掉字符串首尾的空白字符(包括空格、制表符等),中间部分不受影响。


8. replace(CharSequence target, CharSequence replacement)

  • Syntax:

public String replace(CharSequence target, CharSequence replacement)
- 示例:

String s = "2025-06-12";
String r = s.replace("-", "/");   // "2025/06/12"
- 解释:
将所有出现的 target 子串替换为 replacement,返回新字符串。


9. split(String regex)

  • Syntax:

public String[] split(String regex)
- 示例:

String s = "apple,banana,cherry";
String[] parts = s.split(",");   // ["apple", "banana", "cherry"]
- 解释:
按照给定的正则表达式分隔字符串,返回子串数组。


10. contains(CharSequence s)

  • Syntax:

public boolean contains(CharSequence s)
- 示例:

String s = "hello world";
boolean has = s.contains("world");   // true
- 解释:
判断字符串中是否包含指定的字符序列。


11. startsWith(String prefix) / endsWith(String suffix)

  • Syntax:

public boolean startsWith(String prefix)
public boolean endsWith(String suffix)
- 示例:

String url = "https://example.com";
boolean ok1 = url.startsWith("https");   // true
boolean ok2 = url.endsWith(".com");      // true
- 解释:
判断字符串是否以指定前缀或后缀开头/结尾。


12. isEmpty()

  • Syntax:

public boolean isEmpty()
- 示例:

String s1 = "";
String s2 = " ";
boolean e1 = s1.isEmpty();   // true
boolean e2 = s2.isEmpty();   // false
- 解释:
判断字符串长度是否为 0(仅空串返回 true,含空格也算不是空串)。


13. valueOf(…) / format(String format, Object… args)

  • Syntax:

public static String valueOf(int i)
public static String format(String format, Object... args)
- 示例:

String num = String.valueOf(123);                       // "123"
String f = String.format("Name: %s, Age: %d", "Alice", 30);
// "Name: Alice, Age: 30"
- 解释:

  • valueOf:将基本类型或对象转换为字符串。
  • format:类似 C 语言 printf,根据格式字符串和参数生成新字符串。

String Builder

StringBuilder sb = new StringBuilder();  
for (String item : list) {  
    if (!item.isEmpty()) {  
        sb.append(item).append("|");  
    }  
}  
if (sb.length() > 0) sb.deleteCharAt(sb.length() - 1); // 删除末尾分隔符  
String result = sb.toString();//:注意一定要toString
  • Efficient Memory Management: Avoid creating multiple string objects repeatedly (especially with large data volumes).
  • Fully Controllable: Freely control delimiters, prefixes, suffixes, and concatenation logic.