Web Programming/JAVA
Java / equals()와 == 차이 / equals()를 사용하는 이유
hyeon-H
2021. 7. 29. 13:47
728x90
반응형
equals()와 == 차이점과 equals()를 사용하는 이유
equals()와 = =는 내용을 비교한 값을 boolean type(true false)로 반환하는 공통점이 있습니다.
하지만 이 두개는 많은 차이점을 가지고 있습니다.
아래의 코드는 a와 b 둘다 문자열 "aa" 를 가지고 있습니다.
public static void main(String[] args) {
String a = "aa";
String b = new String("aa");
// ==
if(a == b) {
System.out.println(" == 일치!");
}else {
System.out.println(" == 불일치!");
}
// .equals()
if(a.equals(b)) {
System.out.println(" equals 일치!");
}else {
System.out.println(" equals 불일치!");
}
}
위의 결과는 아래와 같다.
이유는
"==" 연산자는 비교하는 대상들의 주소를 비교 하고,
(기본타입의 같은 문자를 담게되면 같은 주소가 나오고, 객체를 새로 생성하는 경우 다른 주소가 나온다.)
"equals()" 메소드는 객체의 내용끼리 비교 할 수 있게 해줍니다.
간단한 테스트를 해보았다.
위 두 코드의 실행결과를 아래서 확인하면 a와 b의 주소가 같다는 것을 확인 할 수 있다.
728x90
반응형