2014-11-11 2 views
1

멤버라는 클래스의 멤버 개체를 배열 목록에 추가하면 "members = new ArrayList();" 다음, 라이브러리라고하고, 클래스 내에서 시도하고 나는 밖으로 인쇄에 오류 메시지가 배열 목록 내에서 데이터의 목록을 인쇄 :Blue J, 내 listMembers 메서드가 내 배열 목록에서 올바른 데이터를 인쇄하지 않습니다.

[email protected] 
[email protected] 

내가 배열에 멤버 개체를 추가하기 위해 사용하고있어서,

public void joinMember(Member joinMember) 
{ 
    members.add(joinMember); 
} 

내가 배열 목록 내에서 모든 데이터를 출력하기 위해 사용하고있는 방법은 다음과 같습니다 : 목록입니다

public void listMembers() 
{ 
    for(Member joinMember : members){ 
     System.out.println(joinMember); 
    } 
} 

는 사람이 도와 주실 수 있습니까? 코드를 검사했는데 올바른 데이터를 인쇄하지 않는 이유를 알아낼 수 없습니다.

답변

1

이는 오류가 아니며 인스턴스화 된 객체 참조의 값인 것 같습니다. 당신이 내부에 무엇을 인쇄하려면, 당신은 클래스에 toString() 방법을 추가

object.getSomething(); // Assuming the getSomething() method prints something 
         // useful from within the class 

또는

처럼 인쇄 할 수있는 개체에서 뭔가에 액세스해야 하나.

+1

건배 @mattias, 이것은 내가 같은 멤버 클래스 내 방법 중 하나를 편집 한 문제를 해결했습니다 + firstName을 +이 lastName + "연락 번호 :"+ phoneNumber + "회원 ID :"+ membershipId; } –

+0

이것은 문제를 해결했습니다! –

2

표시되는 내용은 Object implementation of the toString method입니다. 그것은 오류가 아닙니다. 의미있는 것을 출력하고 싶다면 클래스의 toString 메소드를 오버라이드 할 수 있습니다.

public String toString() { 
    // name is just an example. can be anything. 
    return this.name; 
} 
1

는 올바른 데이터를 인쇄하는 것으로 보인다. "문제"는 "개체 주소"만 인쇄하는 것입니다. 당신은 당신이 원하는 당신의 "SYSOUT"방법을 사용하는 일부 정보를 인쇄하려면 회원 클래스에서 몇 가지 방법을 추가해야합니다 :

System.out.println(joinMember.getName());

이 만약 당신이 원하는 경우 알려주세요. 공공 문자열 toString() { 반환 "이름 :"