
contains() 메서드기능 : 문자열에 특정 문자열(부분 문자열)이 포함되어 있는지 확인
반환값 : boolean (true or false)
사용 예시
String str = "Hello, World!";
boolean contains = str.contains("World");
System.out.printlin(contains); // 출력 : true
장점 : 직관적이고 간단하며, 특정 문자열이 포함되어 있는지만 확인하면 되는 경우 적합
단점 : 단일 문자 확인 시에도 문자열로 취급해야 함('C' 대신 "C" 사용)
indexOf() 메서드기능 : 특정 문자 또는 문자열이 처음 등장하는 인덱스를 반환
특징 : 값이 -1이면 해당 문자/문자열이 포함되어 있지 않음을 의미
사용 예시
String str = "Hello, World!";
int index = str.indexOf('o'); // 문자 'o'의 위치 찾기
System.out.println(index); // 출력 : 4(인덱스는 0부터 시작)
boolean contains = str.indexOf("World") != -1; // "World" 포함 여부
System.out.println(contains); // 출력 : true
matches() 메서드기능 : 문자열이 특정 정규식(Regular Expression)을 만족하는지 확인
반환값 : boolean
사용 예시
String str = "Hello, World!";
boolean contains = str.matches(".*World.*"); // "World"를 포함하는지 확인
System.out.println(contains); // 출력 : true
chars() 스트림 활용(Java 8 이상)기능 : 문자열을 스트림으로 변환하여 특정 문자가 포함되어 있는지 확인
특징 : 람다식이나 스트림 API를 사용할 수 없음
사용 예시
String str = "Hello, World!";
boolean contains = str.chars().anyMatch(c -> c == 'o'); // 'o'포함 여부
System.out.println(contains); // 출력 : true
contains() : 단순히 포함 여부만 확인할 때indexOf() : 특정 문자/문자열의 위치를 알고 싶을 때matches() : 정규식을 활용해야 할 때chars() : 함수형 프로그래밍 스타일을 선호할 때String str = "Programming is fun!";
char target = 'g';
// 1. contains (단일 문자 확인은 문자열로 변환 필요)
System.out.println(str.contains("g"); // true
// 2. indexOf
System.out.println(str.indexOf('g') != -1); // true
// 3. matches
System.out.println(str.matches(".*g.*")); // true
// 4. chars 스트림
System.out.println(str.chars().anyMatch(c -> c == 'g')); // true