티스토리 뷰
- 자바에서 문자열은 .equals() 로 비교해야 한다.
- 왜냐하면 == 는 객체가 같은지를 비교하지만 객체가 갖고 있는 문자열을 비교하지는 않기 때문이다.
String str1 = "Hello";
String str2 = "Hello";
String str3 = new String("Hello");
System.out.println("str1 == str2 ? " + (str1 == str2));
System.out.println("str1 == str3 ? " + (str1 == str3));
System.out.println("str1 hashCode ? " + System.identityHashCode(str1));
System.out.println("str2 hashCode ? " + System.identityHashCode(str2));
System.out.println("str3 hashCode ? " + System.identityHashCode(str3));
str1 == str2 ? true
str1 == str3 ? false
str1 hashCode ? 1789447862
str2 hashCode ? 1789447862
str3 hashCode ? 38997010
[ 설명 ]
str1과 str2는 모두 동일한 문자열 "Hello"를 가리키기 때문에 같은 object입니다.
하지만 str3는 new String()으로 만든 객체로 이 둘과 다릅니다.
System.identityHashCode()는 object의 hashCode를 리턴하는 메소드인데요.
이것을 이용하면 str1과 str3는 문자열은 같지만 서로 다른 객체라는 것을 알 수 있습니다.
참고
'Java' 카테고리의 다른 글
[Java] Scanner (0) | 2021.12.30 |
---|---|
[Java] 숫자의 길이 구하기 (0) | 2021.12.30 |
[Java] Random class 와 삼항연산자 (0) | 2021.12.30 |
[Java] 이차원 배열의 선언, 활용, 출력 (0) | 2021.12.27 |
[Java] 문자열 자르기 substring 메서드 & 문자열 => 배열로 바꾸는 toChararray 메서드 (0) | 2021.12.27 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 상업용무료폰트
- 개발자책추천
- 한글무료폰트추천
- 무료폰트추천
- 깃허브계정2개
- 개발언어순위
- ssafy후기
- 맥과윈도우로깃허브
- 개발자도서추천
- 클린코더
- 브왈라
- 폰트
- 개발도서추천
- ssafy6기
- 디즈니얼굴
- 코딩도서
- 임대차3법
- SSAFY
- 개발언어추천
- 폰트추천
- 클린코드
- 싸피
- 개발자로드맵
- ssafy결과
- 개발자커리
- 깃허브계정
- 싸피6기
- intj여자
- ssafy합격후기
- 개발자
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함