Java - 문자열 메서드 equals, indexOf, contains에 대해서

2023. 11. 18. 17:56낚낚의 개발일기/Java

반응형

 

Java 문자열 메서드인 equals, indexOf, contains에 대해서 알아보려고 합니다.

 

 

제일 먼저 equals 메서드에 대해서 알아볼려고 합니다.

equals는 문자열과 문자열을 비교하여 일치한 문자열이면 true를, 일치하지 않으면 false를 반환하게 됩니다.

 

equals 메서드 사용 예시
String a = new String("안녕하세요");
String b = "안녕하세요";
String c = "안녕하세요";

System.out.println(b == c); // 결과 : true
System.out.println(a == b); // 결과 : false
System.out.println(a.equals(b)); // 결과 : true

 

자세히 보면 a 변수와 b 변수를 비교하는 부분을 봐보면 new String 방식으로 선언한 문자열과 리터럴 표기법으로 선언한 문자열과

== 비교 연산자를 사용했을 때, false로 반환하게 됩니다.

 

이 같은 문제로 문자열을 비교할 때는 equals 메서드 사용을 권장하는데요.

그렇지만 문자열을 선언할 때는 리터럴 표기법 즉, "" 쌍따옴표로 감싸서 선언하는 걸 선호해요.

 

 

indexOf 메서드 사용 예시
String all_text = "이 문자에서 찾아봐요.";

int fine_idx = all_text.indexOf("문자"); // 결과 : 2

 

indexOf 메서드는 특정 문자가 몇 번째 위치해 있는지 알려주는 메서드에요.

 

인덱스 번호로 0번부터 찾게 되는데요.

find_text 변수에서 "문자"라는 부분은 3번째 순번, 인덱스 번호로 2로 결과는 2가 나오게 됩니다.

 

 

contains 메서드 사용 예시
String all_text = "이 문자에서 찾아봐요.";
String find_text = "찾아봐요";

boolean find = all_text.contains(find_text); // 결과 : true

 

contains 메서드는 포함된 문자열인지 확인하고 있다면 true를, 없다면 false가 반환하게 됩니다.

반응형