❓ 왜 System.out.println(uniqueArr); 이렇게 하면 배열 내용이 안 보이고,
이상한 문자들이 나올까?
✅ 이유: 배열은 객체지만, toString()이 오버라이딩되어 있지 않기 때문!
- 자바에서 System.out.println(객체)는 내부적으로 객체.toString()을 호출합니다.
- 그런데 배열은 Object를 상속하지만,
toString() 메서드를 오버라이딩하지 않아서 "클래스명@해시코드" 형식으로 출력됩니다.
📌 그래서 int[] → [I@abc123
📌 String[] → [Ljava.lang.String;@abc123
✅ 해결 방법
System.out.println(Arrays.toString(uniqueArr));
System.out.println(Arrays.deepToString(matrix));
'PS > JAVA' 카테고리의 다른 글
Map (1) | 2025.04.28 |
---|---|
입력 (0) | 2025.04.27 |
타입 추론 (0) | 2025.04.10 |
Array Vs List (0) | 2025.04.10 |
size() vs .length (0) | 2025.04.10 |