만족은 하되 안주하지는 말자

기록해야 기억한다

프로그래밍/JAVA

[Java] == 와 equals() 의 차이

D36choi 2020. 10. 24. 22:19
728x90

equals() 

"String 클래스 내에서" equals() 메소드는 "대상의 내용"을 비교

 

 

== 연산자

== 연산자는 "대상의 주소값"을 비교

 

 

String a = new String("abc"); 와 String b = "abc"; 의 차이는 무엇인가?

 

String a = new String("abc"); 

전자는 abc 값을 가지는 문자열 객체를 힙에 생성해 참조하는 것이기에 문자열이 같아도 다른 인스턴스를 참조하는 것

String b = "abc"; 

후자는 "abc" 문자 리터럴을 이용해 객체 생성했으므로 문자열이 같으면 하나의 인스턴스를 참조한다.

 

따라서 전자는 == 가 False, equals 가 True