equals()랑 "=="차이

2022. 11. 11. 16:30카테고리 없음

원시데이터 vs 참조자료형

원시데이터: 더이상 쪼갤수 없다.

ex)기본자료형

참조자료형: new 로 생성이 된다.

 

 

1)p1==p2  기본자료형

값을 할당 했을때 새로 똑같은 값을 할당하지 않고 그 값을  똑같이 2개의 변수가 참조를한다.

 

 

2)O1==O2

new를 통해 생성된 객체 이다.  서로 값이 2개 올라감으로 서로의 위치가 다르기에 false가 나온다.

 

"==":동등 비교연산자 서로 값이 같은 곳에 위치 하느냐 를 보는 것이다 그러다 보니 

O1,O2가 서로  위치가 다르기에 flase가 나온다

 

equals()는 서로 내용이 같은지에 따라 보기에  두개 값이 같으므로 true가 된다.

 

 

3)O3==O4

String 은 차별 대우를 받는다 그래서 new없이 그냥 생성시는 문자열은 윈시데이터 처럼 동작이 된다.

그래서true가 나온다. 하지만 이부분은 다른 경우에 문제가 생길 수있으므로 참조자료형은

무조건 equals()로 비교를하쟈 !