1. 核心概念
subSequence()
方法用于从字符串中提取指定范围的子序列。其行为与 substring()
完全一致,唯一区别在于返回类型:
✅ 返回 CharSequence
而非 String
⚠️ 实际开发中可直接视为 substring()
的变体,无需过度纠结类型差异
2. 方法签名
public CharSequence subSequence(int beginIndex, int endIndex)
beginIndex
:起始索引(包含)endIndex
:结束索引(不包含)- 返回值:
CharSequence
类型子序列
3. 使用示例
@Test
public void whenCallSubSequence_thenCorrect() {
String s = "Welcome to Baeldung";
assertEquals("Welcome", s.subSequence(0, 7));
}
执行逻辑:
- 从索引
0
(字符 'W')开始截取 - 到索引
7
(空格字符前)结束 - 返回
"Welcome"
的CharSequence
表示
4. 关键注意事项
- ✅ 与
substring()
性能等价,底层实现相同 - ❌ 返回的
CharSequence
不可修改(尝试修改会抛出异常) - ⚠️ 索引越界时抛出
StringIndexOutOfBoundsException
- 💡 实际项目中更常用
substring()
,除非明确需要CharSequence
接口类型