자바 프로그래밍에서 문자열을 다룰 때, `String` 클래스의 메소드 활용은 필수입니다.
문자열 데이터는 다양한 상황에서 활용되기 때문에, 이를 효과적으로 처리하는 방법을 알고 있으면 개발 생산성이 크게 향상됩니다.
특히, 초보 개발자부터 숙련된 개발자까지 모두가 자주 사용하는 메소드들을 모아서 정리해 보았습니다.
이 글에서는 실무에서 유용하게 활용할 수 있는 자바 `String` 메소드들을 한눈에 알아볼 수 있도록 설명합니다.
자바에서 자주 사용하는 String 메소드 총정리 - 실무에서 꼭 알아야 할 활용법!
자바 String 메소드 기초 - 문자열의 길이와 빈 문자열 확인하기
자바에서 문자열의 길이를 구하거나 빈 문자열인지 체크하는 메소드는 매우 기본적이지만 자주 사용됩니다.
String str = "apple";
// 문자열의 길이 반환
System.out.println(str.length()); // 출력: 5
// 빈 문자열인지 확인
System.out.println(str.isEmpty()); // 출력: false
이처럼 `length()` 메소드는 문자열의 길이를, `isEmpty()` 메소드는 문자열이 비어 있는지를 체크합니다.
특히 `isEmpty()` 메소드는 빈 문자열을 확인할 때 조건문에서 자주 사용됩니다.
특정 문자 찾기 및 위치 확인 - `charAt()`, `indexOf()`, `lastIndexOf()`
문자열 내에서 특정 문자를 찾거나, 해당 문자가 위치한 인덱스를 알고 싶을 때 사용하는 메소드들입니다.
메소드 | 설명 | 예제 | 출력 |
---|---|---|---|
`charAt(0)` | 지정한 인덱스의 문자 반환 | `str.charAt(0)` | `'a'` |
`indexOf("a")` | 처음 등장하는 위치의 인덱스 반환 | `str.indexOf("a")` | `0` |
`lastIndexOf("p")` | 마지막으로 등장하는 위치 반환 | `str.lastIndexOf("p")` | `2` |
System.out.println(str.charAt(0)); // 'a'
System.out.println(str.indexOf("a")); // 0
System.out.println(str.lastIndexOf("p")); // 2
이 메소드들은 문자열 분석이나 특정 패턴을 찾을 때 유용하게 사용할 수 있습니다.
문자열 자르기 - `substring()` 메소드 활용법
문자열의 일부분만 추출하고 싶을 때 `substring()` 메소드를 사용합니다.
// 인덱스 1 이상 3 미만의 문자열 반환
System.out.println(str.substring(1, 3)); // 출력: "pp"
// 인덱스 3부터 끝까지 반환
System.out.println(str.substring(3)); // 출력: "le"
`substring()` 메소드는 데이터 전처리 과정에서 특정 부분만 가져와야 할 때 자주 사용됩니다.
문자열 치환 - `replace()`, `replaceAll()`, `replaceFirst()`
문자열 내의 특정 문자를 다른 문자로 변경할 때 사용되는 메소드들입니다.
메소드 | 설명 | 예제 | 출력 |
---|---|---|---|
`replace('p', 'e')` | 모든 'p'를 'e'로 치환 | `str.replace('p', 'e')` | `"aeele"` |
`replaceAll(".", "/")` | 정규식에 따라 치환 | `str.replaceAll(".", "/")` | `"/////"` |
`replaceFirst('p', 'e')` | 첫 번째만 치환 | `str.replaceFirst("p", "e")` | `"aeple"` |
System.out.println(str.replace('p', 'e')); // "aeele"
System.out.println(str.replaceAll(".", "/")); // "/////"
System.out.println(str.replaceFirst("p", "e")); // "aeple"
특히 `replaceAll()`은 정규식을 활용해 복잡한 패턴을 한 번에 변경할 수 있어 강력합니다.
문자열 비교 - `equals()`와 `compareTo()`의 차이점
`String` 객체는 참조 타입이기 때문에 `==`를 사용하면 주소값을 비교하게 됩니다.
따라서 문자열의 값을 비교할 때는 `equals()` 메소드를 사용해야 합니다.
System.out.println(str.equals("apple")); // true
// 비교 예제
System.out.println(str.compareTo("applf")); // 1
System.out.println(str.compareTo("applp")); // -1
`compareTo()` 메소드는 사전순으로 문자열을 비교하여 같으면 `0`, 앞서면 `-1`, 뒤서면 `1`을 반환합니다.
문자열 포함 여부 확인 - `contains()`
특정 문자열이 포함되어 있는지 확인할 때 `contains()` 메소드를 사용합니다.
System.out.println(str.contains("app")); // true
이 메소드는 검색 기능을 구현할 때 매우 유용합니다.
문자열 분리 및 공백 제거 - `split()`과 `trim()`
문자열을 특정 구분자로 나누거나, 문자열의 양쪽 공백을 제거하는 메소드입니다.
String sentence = "hello world";
String[] words = sentence.split(" "); // 공백을 기준으로 분리
System.out.println(Arrays.toString(words)); // ["hello", "world"]
System.out.println(" apple ".trim()); // "apple"
- `split()` 메소드는 데이터를 배열로 나눠서 활용할 때 유용합니다.
- `trim()` 메소드는 입력된 데이터를 정리할 때 자주 사용됩니다.
숫자와 문자열 간 변환 - `parseInt()`와 `toString()`
문자열과 숫자 간 변환은 데이터 처리에서 필수적입니다.
메소드 | 설명 | 예제 | 출력 |
---|---|---|---|
`Integer.parseInt("100")` | 문자열을 정수로 변환 | `Integer.parseInt("100")` | `100` |
`Integer.toString(100)` | 정수를 문자열로 변환 | `Integer.toString(100)` | `"100"` |
int number = Integer.parseInt("100"); // 100
String text = Integer.toString(100); // "100"
System.out.println(number + 1); // 101
System.out.println(text + " apples"); // "100 apples"
이 방법은 사용자 입력 데이터를 숫자로 변환하거나, 숫자를 문자열로 변환해 출력할 때 자주 사용됩니다.
마치며
지금까지 자바에서 자주 사용하는 `String` 관련 메소드들을 정리해 보았습니다.
이 메소드들은 실무에서 자주 사용되는 기능들이며, 이를 잘 활용하면 코드의 가독성은 물론 효율성도 높아집니다.
앞으로 자바 프로그래밍을 하면서 더 복잡한 문자열 처리가 필요할 때, 이 글을 참고하여 더욱 효율적인 코드를 작성해 보세요!
▼ 함께 보면 좋은 글 ▼
'Programming & Platform > Java' 카테고리의 다른 글
Servlet과 JSP - 웹 개발의 핵심, 쉽게 알아보기 (0) | 2024.11.18 |
---|---|
Servlet에서의 Redirect 개념과 활용 예제 (16) | 2024.11.17 |
Java 웹 개발의 필수 요소 - HttpServletRequest 개념과 활용 예시 (0) | 2024.11.15 |
배열과 리스트, 자바의 두 자료구조 비교 (1) | 2024.03.30 |