Tag: tostring

如何在没有得到“SomeType @ 2f92e0f4”的情况下打印我的Java对象?

我有一个类定义如下: public class Person { private String name; // constructor and getter/setter omitted } 我试图打印我的课程的一个实例: System.out.println(myPerson); 但是我得到了以下输出: com.foo.Person@2f92e0f4 。 当我试图打印一个Person对象的数组时,发生了类似的事情: Person[] people = //… System.out.println(people); 我得到了输出: [Lcom.foo.Person;@28a418fc 这个输出是什么意思? 如何改变这个输出,使其包含我的人的名字? 如何打印我的对象的集合? 注意 :这是针对这个问题的规范问答。

用户友好的字符串的枚举ToString

我的枚举包含以下值: private enum PublishStatusses{ NotCompleted, Completed, Error }; 我希望能够以用户友好的方式输出这些值。 我不需要再能够从字符串去值。