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 경로 처리, 인증 헤더 검사, 문자열 분기 처리에 매우 자주 사용됩니다.