-
[자바] 문자열(String)비교 == 와 equals 차이점JAVA 2020. 3. 22. 21:10
== 와 equals() 차이점
안녕하세요? 장장스입니다.
스프링하다가 문자열 비교가 안되서 곤욕을 치뤘는데(시간낭비 엄청했음).. 잊어버리지 않게 이유를 짧막하게나마 정리하려고 합니다.
==
== 는 비교 연산자입니다. 숫자나 문자를 비교할 수 있습니다.
int num = 10; num == 10; // true
하지만 문자열은 비교할 수 없습니다.
String text = "장장스입니다"; text == "장장스입니다"; //false
equals()
자바에서 문자열은 엄밀하게 말하면 객체입니다. Object 객체를 상속받아 만든 String 객체인 것이지요.
때문에 == 비교연산자를 사용하게 되면 객체의 주소를 비교하게 되는 것입니다.
따라서 문자열을 비교할 때는 equals() 메서드를 사용해야 합니다.
String text = "장장스입니다"; text.equals("장장스입니다"); //true
파이썬만 하다가 자바를 다시 하려니 이렇게 간단한 것에도 애를 먹었습니다..ㅠㅠ
포스팅까지 했으니 다음에는 잊어버리지 않기를!!
잘못된 코드나 내용이 있다면 댓글을 남겨주세요. 즉시 수정하도록 하겠습니다! :)
'JAVA' 카테고리의 다른 글
[JAVA] 상속에서 클래스 생성과 super (0) 2020.06.23 [JAVA] 자바, ArrayList (0) 2020.06.22 [JAVA] 자바, 배열 복사 (0) 2020.06.22 [JAVA] 자바, 메모리 구조 스택(stack), 힙(heap), 데이터(data) (0) 2020.06.21 [JAVA] 자바, 정보 은닉 (0) 2020.06.20