public static void main(String[] args) {
String a = "a";
String b = new String("a");
String c = "a";
String d = new String("a");
String e = c;
System.out.println("a : " + System.identityHashCode(a));
System.out.println("b : " + System.identityHashCode(b));
System.out.println("c : " + System.identityHashCode(c));
System.out.println("d : " + System.identityHashCode(d));
System.out.println("e : " + System.identityHashCode(e));
}
객체가 만들어지는 횟수는 3번입니다.
같은 내용의 값이라도 new는 새롭게 객체를 생성하는 것이기 때문입니다.
System.identityHashCode()메서드로 이 객체의 주솟값을 알 수 있는데 결과를 보면 a, c, e 는 값이 같고 b, d는 같은 내용물임에도 주솟값이 다른걸 알 수 있습니다. 메모리영역과 관련이 있는데 이 부분은 더 공부해야겠네요
'Java 공부' 카테고리의 다른 글
== equals 뭐가 달라? (0) | 2021.10.22 |
---|---|
Optional 객체 다루기 (1) | 2021.10.05 |
자바 공식문서 보는방법. (0) | 2021.03.29 |
그래들 스프링 이클립스에 임포트하기 (0) | 2021.02.25 |
자바 배열 Array (0) | 2021.02.08 |