2013-06-06 2 views
1

이것은 당신이 toString() 방법을 과부하하는 방법입니다 Object의 문자열 표현.자바 과부하 toString() 클래스의 배열이 주어집니다 방법은

하지만 내가 좋아하는 Person의 배열이있는 경우 :

Person[] persons = new Person[3]; 
System.out.println(persons.toString()); 

을 내가 무엇을하거나 어떤 방법 (들) 내가 그 경우에 오버라이드 (override) 할 필요합니까? 더 배열 버전들이 없기 때문에

+2

을,하지만 당신은 Arrays.toString을 사용할 수 있습니다 (객체 [] A); 배열의 각 객체에서 toString() 메서드를 호출합니다. – michal

+0

왜이 질문을 downvoting하고 닫으려고 요청합니까? 나는이 질문을 할 수있는 많은 방법이 있기 때문에 나는 비슷한 것을 발견했다. 도움을 주셔서 감사합니다, 나는'Arrays.toString (Object [] a)'를 사용할 것이다. – arminb

답변

1

당신은 무시할 수 없습니다 기본 배열의 toString는. 객체 배열을 문자열로 변환하려면 Arrays.toString()을 사용하십시오.

2

당신은 "배열"버전을 무시할 수 없습니다. 실제로 일어나는 일은 배열에 호출 할 toString 메서드가 있다는 것입니다.

배열과 달리 Java 컬렉션을 사용한 경우 컬렉션의 각 객체에 대해 Collection#toString이 반복 될 때 Person#toString 메소드가 3 번 인쇄됩니다.

+0

Array toString 메서드를 호출합니다. –

+0

즉, 내가 말한 "무엇 어레이는 toString 메소드가 정말 그것을 일" – greedybuddha

+0

자네 말이 맞아,하지만 그 사람 번호의 toString을 호출하려고하지 않습니다. –

1

당신은 배열 방법 toString을 재정의 할 수 없습니다하지만 당신은 배열을 인쇄 할 Arrays.toString(Object[])를 사용할 수 있습니다. 모든

1

먼저, 당신은 기본적으로이 개체를 확장 할 필요가 없습니다.

당신이 사용할 수있는 배열 내용 인쇄하려면 : 그것은 불가능하다

Person[] persons = new Person[3]; 
System.out.println(Arrays.toString(persons)); 
관련 문제