Wie drucke ich mein Java-Objekt, ohne "SomeType @ 2f92e0f4" zu erhalten?

Habe ich eine Klasse wie folgt definiert:

public class Person {
  private String name;

  //constructor and getter/setter omitted
}

Habe ich versucht zu drucken, die eine Instanz meiner Klasse:

System.out.println(myPerson);

aber ich bekam die folgende Ausgabe: com.foo.Person@2f92e0f4.

Etwas ähnliches passiert, als ich versuchte, zu drucken, die ein array von Person Objekte:

Person[] people = //...
System.out.println(people); 

Bekam ich die Ausgabe: [Lcom.foo.Person;@28a418fc

Was hat diese Ausgabe zu bedeuten??? Wie ändere ich diese Ausgabe enthält also den Namen von meiner person? Und wie Drucke ich die Sammlungen meiner Objekte?

Hinweis: dies ist gedacht als eine kanonische Q&A über dieses Thema.

InformationsquelleAutor der Frage Duncan Jones | 2015-03-19

Schreibe einen Kommentar