toString() 메서드가 배열에 비해 부족한 이유
Java에서 toString() 메서드는 객체를 사람이 읽을 수 있는 문자열 표현. 그러나 배열에 적용하면 이상하게 동작할 수 있습니다.
문제:
toString()을 사용하여 문자 배열을 문자열로 변환하려고 하면 Java는 예상되는 출력을 제공합니다. 대신 대괄호, 배열의 요소 유형을 나타내는 문자(char의 경우 "C") 및 숫자 해시 코드("[C@e53108")를 포함하는 혼란스러운 문자열을 생성합니다.
설명 :
Java의 배열에 대한 기본 toString() 구현은 배열의 유형과 해당 "ID 해시"를 반환하도록 설계되었습니다. 코드"는 메모리에 있는 배열 개체의 고유 식별자입니다. 이 정보는 주로 디버깅 목적으로 유용하며 사람이 소비할 수 없습니다.
해결책:
사람이 읽을 수 있는 배열 표현을 얻기 위해 Java는 다음을 제공합니다. Arrays.toString()이라는 대체 방법이 있습니다. 이 방법은 배열 요소를 쉼표로 구분된 문자열로 변환하여 더 접근하기 쉬운 출력을 제공합니다.
예제 코드에서 다음 수정으로 문제가 해결됩니다.
System.out.println(Arrays.toString(Array));
배열을 사용합니다. toString()을 실행하면 이제 출력이 예상대로 "abcdef"를 올바르게 반환합니다. 횡설수설.
역사적 실수?
배열에 대한 Java의 기본 toString() 동작은 혼란스럽고 직관적이지 않을 수 있다는 이유로 종종 "실수"로 비판을 받아 왔습니다. 일부 개발자는 Arrays.toString()과 유사하게 기본적으로 더 의미 있는 방식으로 배열 요소를 반환했어야 한다고 주장합니다.
위 내용은 Java에서 `toString()`이 배열을 사람이 읽을 수 있는 문자열로 변환하지 못하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!