Java 공부

== equals 뭐가 달라?

고줭 2021. 10. 22. 17:29

안녕하세요 출근은 했는데 신입 햇병아리는 소스코드만 보고 업무파악하라고 주신 귀한 시간에 저는 블로그 글 쓰기로 결정했습니다. (월급 루팡은 아님.. 현재프로젝트가 일단 작고.. 살펴봤고..하라는것도 하면ㅅ..)
인스타, 페북, 유튜브 몰래 보는 당신들이 더 나빠.

자바공부 시작하겠습니다.

public class Example{
    public static void main(String[] args) {
        String a = "abc";
        String b = a;
        String c = new String("abc");
        
        System.out.println(a == b);
        System.out.println(a == c);
        System.out.println(b == c);
    }
}

저번 글 중에 String, new String을 비교한 글이 있습니다. 이어서 하는것이므로 보시면 너무너무너무너무너무 감사하겠습니다. 
지금 당장 글 보러가기

예상해보면 좋을것같습니다. 힌트는 ==은 주솟값 equals는 내용물의 값입니다.

결과는 위와 같습니다. equals는??

public class Example {
    public static void main(String[] args) {
        String a = "abc";
        String b = a;
        String c = new String("abc");

        System.out.println(a.equals(b));
        System.out.println(a.equals(c));
        System.out.println(b.equals(c));
    }
}

주솟값은 다르지만 내용물이 같으므로 true입니다. 예전 프로젝트하면서 if문에 == 을 잘못 썻던 기억이 나네요.