충분히 쌓여가는
5.8 객체를 참조하는 배열 본문
기본 타입(byte, char, short, int, long, float, double, boolean) 배열은 각 항목에 값을 직접 저장하지만,
참조 타입(클래스, 인터페이스) 배열은 각 항목에 객체의 번지를 저장한다
==, != 연산자를 사용하면 배열 항목이 참조하는 객체가 같은 객체인지 다른 객체인지를 확인할 수 있고, 문자열만 비교할 때는 equals() 메소드를 사용한다
리터럴 문자열이 같기 때문에 languages[0]과 languages[1] 항목은 동일한 번지에 저장된다
languages[2] 항목은 new 연산자로 생성된 String 객체가 대입되므로 다른 번지가 저장된다
String[] languages = new String[3];
languages[0] = "Java";
languages[1] = "Java";
languages[2] = new String("Java");
System.out.println( languages[0] == languages[1] ); //true
System.out.println( languages[0] == languages[2] ); //false
System.out.println( languages[0].equals(languages[1]) ); //true
'이것이 자바다 > 05 참조 타입' 카테고리의 다른 글
5.10 향상된 for 문 (0) | 2024.04.01 |
---|---|
5.9 배열 복사 - for, System.arraycopy() (0) | 2024.04.01 |
5.7 다차원 배열 (0) | 2024.03.31 |
5.6 배열(Array) 타입 - 배열 길이 length (0) | 2024.03.31 |
5.6 배열(Array) 타입 - new 초기화할 경우 기본 값 (0) | 2024.03.31 |