728x90

==

  • 비교를 위한 연산자
  • 주소의 값을 비교한다.(Call By Reference)
  • 주소의 값이란 실제 내용의 값이 아닌 자료의 위치의 값

 

equals()

  • equals()는 객체끼리 내용을 비교한다.(Call By Value)

 

equals(), == 비교 코드

public class Main {

    public static void main(String[] args) throws Exception{

        String str1 = "abc";
        String str2 = str1;
        String str3 = new String("abc");

        // == 연산자는 주소를 비교.
        System.out.println(str1 == str2); // true
        // str2 에 st1 값을 넣었으므로 주소를 같이 공유 한다.

        System.out.println(str1 == str3); // false
        // str1 과 str3는 각각 생성 되었으므로 주소가 다르다.

        // equals() 는 내용을 비교한다.
        System.out.println(str1.equals(str2)); // ture
        System.out.println(str1.equals(str3)); // true
        // 내용을 비교하기 때문에 abc 내용이 같으므로 true 가 반환.

    }
}
728x90

'Java & Spring' 카테고리의 다른 글

[JAVA] BufferedRead, BufferedWriter  (0) 2022.02.22
[JAVA] Math.max(), Math.min() 최대,최소값 구하기  (0) 2022.02.21
[JAVA] Scanner 스캐너  (0) 2022.02.20
[Spring] @RequestMapping 사용법  (0) 2022.02.11
[JAVA] Map이란  (0) 2022.02.10

+ Recent posts