Note
[Java] == vs equals
String a = "hi";
String b = new String("hi"); // 새 컵을 일부러 만듦
a.equals(b) // true ← 글자가 같음
a == b // false ← 다른 컵
비유: 쌍둥이 컵
똑같이 생긴 컵이 2개 있다 안에 둘 다 콜라가 들어 있다
- equals → "안에 든 게 같아?" → 둘 다 콜라니까 true
- == → "같은 컵이야?" → 생긴 건 같아도 컵이 2개니까 false
String a = "hi";
String b = "hi";
a == b // true ?!
이건 Java가 똑같은 글자를 직접 쓰면 컵 하나를 같이 쓰게 해 줘서 우연히 true가 나온다
그래서 "어? 되네?" 하고 쓰다가, 다른 상황에서 갑자기 false가 나와 버그가 생기니 유의할 것
| 비교 대상 | 쓸 것 |
| 숫자 int, 글자 char | == |
| 문자열 String | .equals() |
'Note' 카테고리의 다른 글
| [Transactional] 트랜잭션이 시작됐는데, Connection을 어디다 들고 있지? (0) | 2026.10.06 |
|---|---|
| [Monitoring, Todak-Todag] Application Performance Monitoring (0) | 2026.10.05 |
| [Java] Character (0) | 2026.10.05 |
| [Java] StringBuilder (0) | 2026.10.05 |
| [Java] switch문의 “→” (0) | 2026.10.05 |