기본 타입(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
반응형

+ Recent posts