1. 方法介绍
startsWith()
是 Java 中 String
类提供的便捷方法,用于判断字符串是否以指定前缀开头。这个方法特别适合处理字符串前缀匹配的场景,比如文件扩展名检查、URL 协议验证等。⚠️ 需要注意的是,它区分大小写,且支持从指定位置开始检查。
2. 方法签名
该方法提供两种重载形式:
public boolean startsWith(String prefix)
public boolean startsWith(String prefix, int toffset)
✅ 参数说明:
prefix
:需要匹配的前缀字符串toffset
(可选):开始检查的位置索引(从0开始)
❌ 常见踩坑:
- 当
toffset
为负数时会抛出StringIndexOutOfBoundsException
- 传入
null
前缀会直接抛出NullPointerException
3. 示例代码
@Test
public void whenCallStartsWith_thenCorrect() {
String str = "foo";
// 基础用法:检查是否以"f"开头
assertTrue(str.startsWith("f"));
// 指定位置检查:从索引1开始是否以"oo"开头
assertTrue(str.startsWith("oo", 1));
}
实际应用场景:
- 文件类型校验:
fileName.endsWith(".java")
- URL 协议判断:
url.startsWith("https://")
- 日志过滤:
logLine.startsWith("[ERROR]")
💡 性能提示:对于高频调用的场景,
startsWith()
比正则表达式或substring()
组合更高效,底层直接比较字符数组。