배열을 위한 Java의 흔하지 않은 'ToString()'
Java에서 toString() 메소드는 사람이 읽을 수 있는 유용한 문자열을 제공할 것으로 예상됩니다. 객체의 문자열 표현. 그러나 배열을 다룰 때는 이러한 기대가 충족되지 않습니다.
배열의 ToString()
다음 코드를 고려하세요.
char[] Array = {'a', 'b', 'c', 'd', 'e', 'f'}; System.out.println(Array.toString());
예상된 문자열 "abcdef"를 반환하는 대신 이 코드는 다음과 같은 횡설수설을 인쇄합니다. "[C@6e1408" 또는 "[C@e53108."
이 동작은 배열에 대한 Java의 기본 toString() 구현이 다음을 포함하는 암호화된 문자열을 생성하기 때문에 발생합니다.
해결책
사람이 읽을 수 있는 배열 문자열 표현을 얻으려면 정적 Arrays.toString() 메서드를 사용하세요. 대신:
System.out.println(Arrays.toString(Array));
이 메서드는 원하는 "abcdef" 문자열을 명시적으로 반환합니다.
이론
암호적인 toString( ) 배열 구현은 종종 실수로 간주됩니다. 이 디자인의 의도는 디버깅 시 메모리 주소의 우선순위를 정하는 것이었지만 일상적인 사용에는 도움이 되기보다는 혼란을 주는 것으로 입증되었습니다.
위 내용은 Java의 `toString()` 메소드가 배열에 대한 암호화된 출력을 생성하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!