일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- C++
- 서평
- Java
- 알고리즘트레이닝
- 알고리즘공부
- algorithmtraining
- 프로그래머스 알고리즘 공부
- 지혜를가진흑곰
- 돈
- 재테크
- 경제
- 책을알려주는남자
- 화장품
- 백준알고리즘
- 투자
- 성분
- algorithmStudy
- 자바
- 알고리즘 공부
- algorithmTest
- 채권
- 자바스크립트
- 책알남
- 프로그래밍언어
- C
- 독서
- 다독
- 주식
- JavaScript
- 독후감
Archives
- Today
- Total
탁월함은 어떻게 나오는가?
[JAVA] 문자열 비교연산자 == 와 equals() 의 차이점에 대해서 본문
반응형
자바에서 일반적인 데이터 타입의 비교는 == 연산자를 사용한다. 그리고 String 문자열의 값을 비교할때에는 equals()라는 메소드를 사용하여 비교를 하게 된다.
equals와 == 두가지 모두 비교하는건데 어떠한 차이점이 있을까??
결론부터 이야기하자면, == 는 객체의 값(주소)을 비교하는것이다. equals()는 문자열을 비교하는 것이다.
== 연산자는 객체를 비교하는 연산자인데 두 변수는 서로 다른 객체이기 때문에, false를 반환한다.
객체가 다른 객체이므로 부여된 주소가 다르기떄문이다.
위에 사진처럼 주소가 다르기때문에 결과값이 false를 반환한다.
따라서 문자열 자체를 비교하고 싶을때는, == 대신 String 클래스의 equals()를 이용해서 비교해야 한다. equals()는 객체가 다르더라도 문자열 값만 비교하므로 원하는 결과를 반환 받을 수 있다.
위사진처럼 두개의 문자열의 주소는 달라서 다른객체이지만, 문자열만 비교하므로 true를 반환하는것을 확인할 수 있다.
위의 리터럴 선언방식과 new 선언방식에 대해서 궁금하면 밑에 링크를 보면 좋을듯하다.
반응형
'[Snow-ball]프로그래밍(컴퓨터) > java' 카테고리의 다른 글
[JAVA] 자바를 사용하기 위한 인텔리제이(IntelliJ IDEA)로 새로운 프로젝트 만들고 Hello Wolrd 를 출력해보자!! (9) | 2022.03.19 |
---|---|
[JAVA] String Constant Pool 이란? (String 객체 선언 방식에 대해서) (0) | 2021.07.13 |
쓰레드(Thread)의 개념 (0) | 2021.07.08 |
Java 언어의 특징 (0) | 2021.06.22 |
POJO - Plain Old Java Object , EJB - Enterprise JavaBeans 란? (0) | 2021.05.03 |
Comments