Java문법 startsWith
2025. 12. 29. 20:57ㆍ카테고리 없음
1️⃣ startsWith()란?
startsWith()는 문자열이 특정 문자열로 시작하는지를 확인하는 메서드입니다.
- 반환 타입: boolean
- 소속 클래스: java.lang.String
2️⃣ 기본 문법
String str = "HelloWorld"; boolean result = str.startsWith("Hello");
✔ result → true
3️⃣ 예제별 설명
✅ 문자열이 특정 값으로 시작하는지 확인
String url = "/api/users";
if (url.startsWith("/api")) {
System.out.println("API 요청입니다.");
}
➡️ REST API 라우팅, 필터, 인터셉터에서 자주 사용
✅ 대소문자 구분
String text = "Java";
System.out.println(text.startsWith("java")); // false
System.out.println(text.startsWith("Java")); // true
⚠️ startsWith()는 대소문자를 구분합니다.
4️⃣ 특정 위치부터 시작하는지 확인 (오버로딩)
boolean startsWith(String prefix, int toffset)
예제
String str = "HelloWorld";
System.out.println(str.startsWith("World", 5)); // true
✔ 인덱스 5부터 "World"가 시작하는지 확인
5️⃣ 실무에서 많이 쓰는 패턴
🔹 권한 / 토큰 검사
String authHeader = "Bearer eyJhbGciOi...";
if (authHeader.startsWith("Bearer ")) {
String token = authHeader.substring(7);
}
➡️ JWT 인증 처리에서 매우 흔함
(지금까지 하신 Spring + JWT 프로젝트랑 딱 맞는 예제예요)
🔹 파일 확장자 체크
String fileName = "image.png";
if (fileName.startsWith("image")) {
// 이미지 관련 처리
}
6️⃣ startsWith() vs contains()
메서드의미
| startsWith() | 처음부터 일치 |
| contains() | 문자열 어디든 포함 |
"HelloWorld".startsWith("World"); // false
"HelloWorld".contains("World"); // true
7️⃣ 주의사항 ⚠️
String str = null; str.startsWith("Hi"); // ❌ NullPointerException
✔ null 체크 필수
if (str != null && str.startsWith("Hi")) { ... }
8️⃣ 한 줄 요약
startsWith()는 문자열이 특정 접두사(prefix)로 시작하는지 검사하는 메서드이며,
API 경로 처리, 인증 헤더 검사, 문자열 분기 처리에 매우 자주 사용됩니다.