• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

equals 말고 contains 를 써도 될까요?

23.01.10 13:38 작성 조회수 490

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 의 동작은 다르므로 상황에 맞게 필요한 것을 사용하시면 되겠습니다.
감사합니다 😊

조재연님의 프로필

조재연

질문자

2023.01.10

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