22.02.03 String 비교연산자

Saparian·2022년 2월 3일
0

오늘의배움

목록 보기
12/53

개인프로젝트_타자연습프로그램을 만드는 중이다.

오늘 만든 기능은 보기문과 String입력값을 비교해서 틀렸을 경우 재입력하는 반복문을 만들었다.

처음에는 조건문으로 실행하려 했지만, 재입력이 있어야해서 while문으로 코드를 수정했다.

여기서 생각보다 고전했던 것은 String 비교연산자 였다.

파이선에서는 == 연산자를 사용하면 됐는데 Java에서는 인식을 못하는 것이었다.

이유는 다음과 같다.

== 연산자는 객체가 동일한지를 비교하는 연산자다.
반대로 eqauls의 경우는 String값까지 정교하게 비교해주는 매서드이다.
따라서 String을 비교할 경우에는 equals 매서드를 사용해야한다.

== 연산자의 경우에는 객체의 해시값을 비교하기때문에 동일한 문자열이더라도 객체가 다르면, 같지않다고 결론을 내버린다.
그래서 인식을 못하더라.

반대로 equals매서드의 경우에는 처음 객체값을 비교하고, 객체가 같지않으면 문자열을 직접 비교한다고 한다.

결론
문자열을 비교할 경우에는 equals 매서드를 사용해야한다!

0개의 댓글