System.out.println(Object)
을 사용하여 모든 개체를 인쇄 할 수 있습니다. println의 오버로드 된 버전은 객체의 표현을 toString
으로 출력합니다. 당신이 인쇄 될 것입니다 무엇을 사용자 정의 할 경우, 예를 들어, Object#toString()
메서드를 재정의해야합니다
public class A {
private String foo;
@Override
public String toString() {
// When you print out instance of A, value of its foo
// field will be printed out
return foo;
}
}
당신이 Object
클래스에서 Object#toString()
방법, 기본 구현을 재정의하지 않는 경우 사용됩니다,이 가지고있는 형태 (클래스 이름과 인스턴스의 해시 코드의 16 진수 표현) :
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
보너스 : 여러 분야의 toString()
구현을 작성해야하는 경우,보다 쉽게 할 수있는 도구가 있습니다. 예를 들어, Commons Lang의 ToStringBuilder
. 또는 IntelliJ IDEA와 같은 일부 Java IDE는 클래스 필드를 기반으로 toString
을 생성합니다.
무엇을 인쇄하려고합니까? 'sysout'은 클래스'A'의 객체'a'에'toString'을 호출 한 결과를 인쇄하려고 시도합니다. – mystarrocks
없음. printStream에 println() 메서드가 있으므로 Object를 인수로 사용하므로 항상 작동합니다. http://docs.oracle.com/javase/7/docs/api/java/io/PrintStream.html#println%28java .lang.Object % 29. –