※ 자바에서 문자열은 매우 중요한 데이터 타입으로, String 클래스로 구현되며, 다양한 기능과 메서드를 제공한다.
※ 문자열의 특성과 관련된 모든 주요 개념과 유용한 메서드를 정리하였다.
< 문자열 생성 >
문자열 리터럴은 String Pool이라는 특별한 메모리 공간에 저장되기 때문에,
동일한 리터럴은 메모리를 절약하기 위해 같은 객체를 참조한다.
- "Hello" 처럼 리터럴을 사용하면 String Pool에 저장된다.
- new String("Hello")는 새로운 문자열 객체를 생성하는 것이므로, String Pool에 저장되지 않고, 항상 새로운 객체를 만든다
< 문자열 관련 메서드 >
1. length()
- 문자열의 길이를 반환
2. charAt(int index)
- 특정 인덱스의 문자를 반환 (맨 앞글자는 인덱스 0)
3. equals(String str) ★
- 문자열의 내용(값)이 같은지 비교
- 문자열의 값을 비교할 때는 == 을 사용하면 안 됨
4. equalsIgnoreCase(String str)
- 대소문자를 무시하고 문자열 내용을 비교
5. substring(int beginIndex, int endIndex) ★
- 특정 구간의 문자열을 추출
- 슬라이싱 문제나 부분 문자열 추출에 유용
6. indexOf(String str) ★ / lastIndexOf(String str)
- 특정 문자열의 첫 번째 / 마지막 인덱스를 반환
- 특정 패턴을 찾거나 조건 확인 시 사용
7. toCharArray() ★
- 문자열을 문자 배열로 변환 (String -> char[])
8. split(String regex) ★
- 문자열을 특정 구분자를 기준으로 분리
- split()에서 특수 문자를 처리할 때 주의할 문자들 :
. * + ? | ^ $ () [] {} → 정규식 메타 문자이므로 "\\"로 이스케이프 필요!!
ex) "\\+", "\\^"
9. replace(CharSequence target, CharSequence replacement) /
replaceAll(String regex, String replacement)
- 문자열 내 특정 문자 / 패턴을 다른 값으로 대체
- 데이터 변환이나 문자열 클리닝 문제에 유용
10. toLowerCase() / toUpperCase()
- 문자열을 소문자/대문자로 변환
11. trim()
- 문자열 양 끝의 공백 제거
12. startsWith(String prefix) / endsWith(String suffix)
- 문자열이 특정 접두사 / 접미사로 시작하거나 끝나는지 확인
- 파일명 필터링, 조건 확인 문제에서 사용
13. contains(CharSequence s)
- 문자열에 특정 문자열이 포함되어 있는지 확인
14. String.valueOf()
- 숫자, 문자, boolean 등을 문자열로 변환
15. compareTo(String anotherString)
- 문자열을 사전순으로 비교
16. join(CharSequence delimiter, CharSequence... elements)
- 여러 문자열을 특정 구분자로 합침
'코딩 테스트 준비 (JAVA)' 카테고리의 다른 글
| [백준 2504] 괄호의 값 (JAVA) (1) | 2025.09.14 |
|---|---|
| [백준 2169] 로봇 조종하기 (JAVA) (1) | 2025.07.19 |
| [백준 12919] A와 B 2 (JAVA) (3) | 2025.07.16 |
| [백준 1092] 배 (JAVA) (0) | 2025.07.15 |
| [JAVA] 빠른 입출력 (BufferedReader, BufferedWriter, StringTokenizer) (1) | 2024.12.31 |