如何以正确的方式打印对象内容?

Moh*_*mal 12 java object tostring

我有一个ArrayList包含User类中的一些对象.当我打印这些对象时,我得到了:

[User @ 18fd984,User @ 18fd984]

如何以正确的方式打印这些对象?

Gui*_*ido 13

重写toString类中的方法以生成您喜欢的输出,而不是Java自动生成的默认值.例:

public class User {
   private String name;
   ...
   @Override
   public String toString() {
       return name;
   }
}
Run Code Online (Sandbox Code Playgroud)

对于复杂对象,Apache Commons Lang提供了一些方便的方法,如果您已在项目中使用此依赖项:

@Override
public String toString() {
   return ToStringBuilder.reflectionToString(this);
}
Run Code Online (Sandbox Code Playgroud)