728x90
반응형
equals와 == 차이점
==
연산자로 객체 참조가 같은지 비교
대상의 주소값을 비교
equals()
메소드로 객체의 값을 비교
대상의 내용 자체를 비교
예제
String test1 = "test";
String test2 = test1; // test1과 주소값 같음
String test3 = new String("test");
System.out.println(test1==test2); // true
System.out.println(test1==test3); // false
System.out.println(test1.equals(test2)); // true
System.out.println(test1.equals(test3)); // true
참고
Call By Value는 기본적으로 대상에 주소값을 가지지 않는 것으로 값을 할당받는 형태로 사용됨
예를 들어 int, float, double, byte 등 primitive type에 해당
Call By Reference는 대상을 선언했을 때, 주소값이 부여됨
그래서 어떠한 객체를 불러왔을 때는 그 주소값을 불러온다고 봄
예를 들어 Class, Object(객체)가 이에 해당
반응형
'프로그래밍 > JAVA' 카테고리의 다른 글
[Java Error] java.lang.IllegalArgumentException: No enum constant 에러 (0) | 2023.03.02 |
---|---|
[Java] StringBuffer와 StringBuilder (0) | 2023.02.28 |
[Java] Enum 사용법 (0) | 2023.01.05 |
[Java] modelMapper 사용하기 (0) | 2023.01.02 |
[Java] List를 콤마(,)로 연결하여 하나의 문자열 만들기 (0) | 2022.12.23 |