인프런 커뮤니티 질문&답변

조재연님의 프로필 이미지
조재연

작성한 질문수

나도코딩의 자바 기본편 - 풀코스 (20시간)

퀴즈 #9

equals 말고 contains 를 써도 될까요?

해결된 질문

작성

·

643

0

 안녕하세요. 강의 잘 듣고 있습니다.

if (student.certification.equals("자바"))

if (student.certification.contains("자바"))

이렇게 해도 결과값은 같게 나오는데 보통 equals를 많이 사용할까요?!

답변 1

1

나도코딩님의 프로필 이미지
나도코딩
지식공유자

안녕하세요?
주어진 퀴즈 데이터 내에서는 equals 나 contains 모두 동일한 결과를 내게 되므로 정답입니다. 하지만 equals 는 '같은지 여부' 를, contains 는 '포함하는지 여부' 를 확인하게 되므로 둘의 동작은 서로 다릅니다.
만약 다음과 같이 '자바스크립트' 를 할 줄 아는 새로운 신입생이 생긴다면 어떻게 될까요?

list.add(new Student("신입생", "자바스크립트"));

'자바스크립트' 는 '자바' 라는 글자를 포함하므로 contains 를 쓰게 되면 true 가 됩니다. 자바 자격증을 보유한 학생이 아닌데도 목록에 나타나게 되겠죠. 이 때는 equals 를 써야만 올바르게 퀴즈에서 원하는 결과를 얻을 수 있습니다.
equals 와 contains 의 동작은 다르므로 상황에 맞게 필요한 것을 사용하시면 되겠습니다.
감사합니다 😊

조재연님의 프로필 이미지
조재연
질문자

아 그렇군요! 답변 감사합니다!

조재연님의 프로필 이미지
조재연

작성한 질문수

질문하기